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
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

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)

Confira também

WDF_OBJECT_ATTRIBUTES