Função WdfObjectAcquireLock (wdfsync.h)
[Aplica-se a KMDF e UMDF]
O método WdfObjectAcquireLock adquire o bloqueio de sincronização de um objeto.
Sintaxe
VOID WdfObjectAcquireLock(
_In_ WDFOBJECT Object
);
Parâmetros
[in] Object
Um identificador para um objeto de dispositivo de estrutura ou um objeto de fila de estrutura.
Valor de retorno
Nenhum
Observações
Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.
Um driver pode chamar o método WdfObjectAcquireLock para adquirir o bloqueio de sincronização associado a um objeto de dispositivo de estrutura especificado ou um objeto de fila de estrutura. O método não retorna até que o bloqueio tenha sido adquirido.
Quando o driver não precisa mais do bloqueio de sincronização do objeto, ele deve chamar WdfObjectReleaseLock.
Se o driver especificado WdfExecutionLevelPassive para o ExecutionLevel da estrutura WDF_OBJECT_ATTRIBUTES do objeto especificado, o driver deverá chamar WdfObjectAcquireLock no IRQL <= APC_LEVEL. WdfObjectAcquireLock adquire um mutex rápido e retorna no IRQL do chamador. (Nesse caso, WdfObjectAcquireLock também chama KeEnterCriticalRegion antes de retornar para que APCs de kernel normais sejam desabilitadas.)
Se o driver não especificar WdfExecutionLevelPassive para o membro ExecutionLevel da estrutura de WDF_OBJECT_ATTRIBUTES do objeto especificado, o driver deverá chamar WdfObjectAcquireLock no IRQL <= DISPATCH_LEVEL. WdfObjectAcquireLock adquire um de bloqueio de rotação e retorna em IRQL = DISPATCH_LEVEL.
Para obter mais informações sobre bloqueios de sincronização, consulte Técnicas de Sincronização para drivers de Framework-Based.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
versão mínima do KMDF | 1.0 |
versão mínima do UMDF | 2.0 |
cabeçalho | wdfsync.h (inclua Wdf.h) |
IRQL | Consulte a seção Comentários. |
regras de conformidade de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |