Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt für KMDF und UMDF]
Der WDF_SYNCHRONIZATION_SCOPE Enumerationstyp gibt an, wie das Framework die Ausführung der Ereignisrückruffunktionen eines Objekts synchronisiert.
Syntax
typedef enum _WDF_SYNCHRONIZATION_SCOPE {
WdfSynchronizationScopeInvalid = 0x00,
WdfSynchronizationScopeInheritFromParent,
WdfSynchronizationScopeDevice,
WdfSynchronizationScopeQueue,
WdfSynchronizationScopeNone
} WDF_SYNCHRONIZATION_SCOPE;
Konstanten
WdfSynchronizationScopeInvalidWert: 0x00 Reserviert für die Systemverwendung. |
WdfSynchronizationScopeInheritFromParentDas Framework verwendet den Synchronisierungsbereichswert, der für das übergeordnete Objekt des Objekts angegeben wurde. Dieser Wert ist der Standardwert, wenn ein Treiber keinen wert vom Typ WDF_SYNCHRONIZATION_SCOPE angibt. |
WdfSynchronizationScopeDeviceDas Framework synchronisiert die Ausführung der Ereignisrückruffunktionen aller Warteschlangen- und Dateiobjekte, die sich unter einem Geräteobjekt in der Objekthierarchie des Treibers befinden. Wenn der Treiber die AutomaticSerialization Member auf TRUE- in der Konfigurationsstruktur für ein Interrupt-, DPC-, Arbeitselement- oder Zeitgeberobjekt festlegt, das sich unter demselben Geräteobjekt befindet, synchronisiert das Framework auch die Rückruffunktionen dieses Objekts. Das Framework ruft die Synchronisierungssperre des Geräteobjekts ab, bevor eine Rückruffunktion aufgerufen wird. Daher werden diese Rückruffunktionen jeweils einzeln ausgeführt. Wenn der Treiber jedoch mehrere Objekte desselben Typs erstellt, aber unter verschiedenen Geräteobjekten kann die Ereignisrückruffunktion gleichzeitig auf einem Multiprozessorsystem ausgeführt werden. |
WdfSynchronizationScopeQueueDieser Wert wirkt sich nur auf Warteschlangenobjekte aus. Das Framework synchronisiert die Ereignisrückruffunktionen des Warteschlangenobjekts, sodass jeweils nur eine ausgeführt wird. Wenn der Treiber AutomaticSerialization auf TRUE- in der Konfigurationsstruktur für ein Interrupt-, DPC-, Arbeitselement- oder Zeitgeberobjekt festlegt, das sich unter dem Warteschlangenobjekt oder dem übergeordneten Geräteobjekt befindet, synchronisiert das Framework auch die Rückruffunktionen dieses Objekts. Das Framework ruft die Synchronisierungssperre des Warteschlangenobjekts ab, bevor alle Rückruffunktionen aufgerufen werden, die zum Objekt gehören. Wenn der Treiber mehrere Warteschlangenobjekte erstellt, werden die Ereignisrückruffunktionen möglicherweise gleichzeitig auf einem Multiprozessorsystem ausgeführt. Für Frameworkversionen 1.9 und höher sollte ein Treiber WdfSynchronizationScopeQueue- für einzelne Warteschlangenobjekte festlegen. Um diesen Bereich mit früheren Versionen des Frameworks zu verwenden, muss der Treiber WdfSynchronizationScopeQueue- für das übergeordnete Geräteobjekt und WdfSynchronizationScopeInheritFromParent für das Warteschlangenobjekt festlegen. |
WdfSynchronizationScopeNoneDas Framework synchronisiert die Ereignisrückruffunktionen des Objekts nicht, sodass die Rückruffunktionen möglicherweise gleichzeitig auf einem Multiprozessorsystem ausgeführt werden. |
Bemerkungen
Treiber verwenden den WDF_SYNCHRONIZATION_SCOPE Enumerationstyp, um das SynchronizationScope Element der WDF_OBJECT_ATTRIBUTES Struktur eines Objekts anzugeben.
Sie können einen SynchronizationScope- Wert nur für die folgenden Objekte angeben:
- Frameworktreiberobjekte
- Framework-Geräteobjekte
- Framework-Warteschlangenobjekte
Weitere Informationen zur Synchronisierung der Ereignisrückruffunktionen eines Treibers finden Sie unter Synchronisierungstechniken für Framework-Based Treiber.
Anforderungen
| Anforderung | Wert |
|---|---|
| Minimale KMDF-Version | 1.0 |
| Mindest-UMDF-Version | 2.0 |
| Kopfzeile | wdfobject.h (einschließen Wdf.h) |