énumération WDF_SYNCHRONIZATION_SCOPE (wdfobject.h)
[S’applique à KMDF et UMDF]
Le type d’énumération WDF_SYNCHRONIZATION_SCOPE spécifie comment l’infrastructure synchronisera l’exécution des fonctions de rappel d’événement d’un objet.
Syntax
typedef enum _WDF_SYNCHRONIZATION_SCOPE {
WdfSynchronizationScopeInvalid = 0x00,
WdfSynchronizationScopeInheritFromParent,
WdfSynchronizationScopeDevice,
WdfSynchronizationScopeQueue,
WdfSynchronizationScopeNone
} WDF_SYNCHRONIZATION_SCOPE;
Constantes
WdfSynchronizationScopeInvalid Valeur : 0x00 Réservé pour le système. |
WdfSynchronizationScopeInheritFromParent L’infrastructure utilise la valeur d’étendue de synchronisation qui a été spécifiée pour l’objet parent de l’objet. Cette valeur est la valeur par défaut si un pilote ne spécifie pas de valeur de type WDF_SYNCHRONIZATION_SCOPE. |
WdfSynchronizationScopeDevice L’infrastructure synchronise l’exécution des fonctions de rappel d’événement de tous les objets file d’attente et fichier qui se trouvent sous un objet de périphérique dans la hiérarchie d’objets du pilote. En outre, si le pilote définit le membre AutomaticSerialization sur TRUE dans la structure de configuration pour un objet d’interruption, DPC, élément de travail ou minuteur qui se trouve sous le même objet d’appareil, l’infrastructure synchronise également les fonctions de rappel de cet objet. L’infrastructure obtient le verrou de synchronisation de l’objet d’appareil avant d’appeler une fonction de rappel. Par conséquent, ces fonctions de rappel s’exécutent une par une. Toutefois, si le pilote crée plusieurs objets du même type, mais sous des objets de périphérique différents, leurs fonctions de rappel d’événement peuvent s’exécuter simultanément sur un système multiprocesseur. |
WdfSynchronizationScopeQueue Cette valeur affecte uniquement les objets de file d’attente. L’infrastructure synchronise les fonctions de rappel d’événement de l’objet file d’attente afin qu’une seule s’exécute à la fois. En outre, si le pilote définit AutomaticSerialization sur TRUE dans la structure de configuration pour un objet d’interruption, DPC, élément de travail ou minuteur qui se trouve sous l’objet file d’attente ou son objet de périphérique parent, l’infrastructure synchronise également les fonctions de rappel de cet objet. L’infrastructure obtient le verrou de synchronisation de l’objet file d’attente avant d’appeler les fonctions de rappel qui appartiennent à l’objet . Si le pilote crée plusieurs objets de file d’attente, leurs fonctions de rappel d’événement peuvent s’exécuter simultanément sur un système multiprocesseur. Pour les versions de framework 1.9 et ultérieures, un pilote doit définir WdfSynchronizationScopeQueue pour les objets de file d’attente individuels. Pour utiliser cette étendue avec des versions antérieures de l’infrastructure, le pilote doit définir WdfSynchronizationScopeQueue pour l’objet de périphérique parent et WdfSynchronizationScopeInheritFromParent pour l’objet de file d’attente. |
WdfSynchronizationScopeNone L’infrastructure ne synchronise pas les fonctions de rappel d’événement de l’objet, de sorte que les fonctions de rappel peuvent s’exécuter simultanément sur un système multiprocesseur. |
Remarques
Les pilotes utilisent le type d’énumération WDF_SYNCHRONIZATION_SCOPE pour spécifier le membre SynchronizationScope de la structure WDF_OBJECT_ATTRIBUTES d’un objet.
Vous pouvez spécifier une valeur SynchronizationScope uniquement pour les objets suivants :
- Objets du pilote d’infrastructure
- Objets d’appareil framework
- Objets de file d’attente d’infrastructure
Pour plus d’informations sur la synchronisation des fonctions de rappel d’événements d’un pilote, consultez Techniques de synchronisation pour les pilotes Framework-Based.
Configuration requise
Condition requise | Valeur |
---|---|
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfobject.h (inclure Wdf.h) |