enumeração WDF_SYNCHRONIZATION_SCOPE (wdfobject.h)
[Aplica-se a KMDF e UMDF]
O tipo de enumeração WDF_SYNCHRONIZATION_SCOPE especifica como a estrutura sincronizará a execução das funções de retorno de chamada de evento de um objeto.
Syntax
typedef enum _WDF_SYNCHRONIZATION_SCOPE {
WdfSynchronizationScopeInvalid = 0x00,
WdfSynchronizationScopeInheritFromParent,
WdfSynchronizationScopeDevice,
WdfSynchronizationScopeQueue,
WdfSynchronizationScopeNone
} WDF_SYNCHRONIZATION_SCOPE;
Constantes
WdfSynchronizationScopeInvalid Valor: 0x00 Reservado para uso do sistema. |
WdfSynchronizationScopeInheritFromParent A estrutura usa o valor de escopo de sincronização especificado para o objeto pai do objeto. Esse valor será o padrão se um driver não especificar um valor do tipo WDF_SYNCHRONIZATION_SCOPE. |
WdfSynchronizationScopeDevice A estrutura sincroniza a execução das funções de retorno de chamada de evento de todos os objetos de fila e arquivo que estão sob um objeto de dispositivo na hierarquia de objetos do driver. Além disso, se o driver definir o membro AutomaticSerialization como TRUE na estrutura de configuração para um objeto de interrupção, DPC, item de trabalho ou temporizador que está abaixo do mesmo objeto de dispositivo, a estrutura também sincronizará as funções de retorno de chamada desse objeto. A estrutura obtém o bloqueio de sincronização do objeto do dispositivo antes de chamar uma função de retorno de chamada. Portanto, essas funções de retorno de chamada são executadas uma de cada vez. No entanto, se o driver criar vários objetos do mesmo tipo, mas em objetos de dispositivo diferentes, suas funções de retorno de chamada de evento poderão ser executadas simultaneamente em um sistema multiprocessador. |
WdfSynchronizationScopeQueue Esse valor afeta somente objetos de fila. A estrutura sincroniza as funções de retorno de chamada de evento do objeto de fila para que apenas uma seja executada por vez. Além disso, se o driver definir AutomaticSerialization como TRUE na estrutura de configuração para um objeto de interrupção, DPC, item de trabalho ou temporizador que está sob o objeto de fila ou seu objeto de dispositivo pai, a estrutura também sincronizará as funções de retorno de chamada desse objeto. A estrutura obtém o bloqueio de sincronização do objeto de fila antes de chamar quaisquer funções de retorno de chamada que pertençam ao objeto . Se o driver criar vários objetos de fila, suas funções de retorno de chamada de evento poderão ser executadas simultaneamente em um sistema multiprocessador. Para versões de estrutura 1.9 e posteriores, um driver deve definir WdfSynchronizationScopeQueue para objetos de fila individuais. Para usar esse escopo com versões anteriores da estrutura, o driver deve definir WdfSynchronizationScopeQueue para o objeto de dispositivo pai e WdfSynchronizationScopeInheritFromParent para o objeto de fila. |
WdfSynchronizationScopeNone A estrutura não sincroniza as funções de retorno de chamada de evento do objeto, portanto, as funções de retorno de chamada podem ser executadas simultaneamente em um sistema multiprocessador. |
Comentários
Os drivers usam o tipo de enumeração WDF_SYNCHRONIZATION_SCOPE para especificar o membro SynchronizationScope da estrutura WDF_OBJECT_ATTRIBUTES de um objeto.
Você pode especificar um valor SynchronizationScope apenas para os seguintes objetos:
- Objetos de driver de estrutura
- Objetos de dispositivo de estrutura
- Objetos de fila de estrutura
Para obter mais informações sobre a sincronização das funções de retorno de chamada de evento de um driver, consulte Técnicas de sincronização para drivers de Framework-Based.
Requisitos
Requisito | Valor |
---|---|
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfobject.h (inclua Wdf.h) |