WDF_SYNCHRONIZATION_SCOPE enumeração (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.

Sintaxe

typedef enum _WDF_SYNCHRONIZATION_SCOPE {
  WdfSynchronizationScopeInvalid,
  WdfSynchronizationScopeInheritFromParent,
  WdfSynchronizationScopeDevice,
  WdfSynchronizationScopeQueue,
  WdfSynchronizationScopeNone
} WDF_SYNCHRONIZATION_SCOPE;

Constantes

 
WdfSynchronizationScopeInvalid
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 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 abaixo de um objeto de dispositivo na hierarquia de objetos do driver.

Além disso, se o driver definir o membro de 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 de dispositivo antes de chamar uma função de retorno de chamada. Portanto, essas funções de retorno de chamada executam 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 a AutomaticSerialization como TRUE na estrutura de configuração para um objeto de interrupção, DPC, item de trabalho ou temporizador que está abaixo do objeto da fila ou do 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 as funções de retorno de chamada que pertencem 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 do driver framework
  • Objetos do dispositivo Framework
  • Objetos de fila da estrutura
A estrutura define o valor synchronizationScope de objetos de driver de estrutura como WdfSynchronizationScopeNone. Ele define o valor SynchronizationScope de objetos de dispositivo de estrutura e objetos de fila de estrutura como WdfSynchronizationScopeInheritFromParent.

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

   
Versão mínima do KMDF 1,0
Versão mínima do UMDF 2,0
Cabeçalho wdfobject.h (include Wdf.h)

Confira também

WDF_OBJECT_ATTRIBUTES