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.
Comentários
Um bug marcar ocorrerá se o driver fornecer 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 ou objeto de fila de estrutura especificado. O método não retorna até que o bloqueio seja adquirido.
Quando o driver não precisa mais do bloqueio de sincronização do objeto, ele deve chamar WdfObjectReleaseLock.
Se o driver especificou WdfExecutionLevelPassive para o membro ExecutionLevel da estrutura WDF_OBJECT_ATTRIBUTES do objeto especificado, o driver deve chamar WdfObjectAcquireLock em IRQL <= APC_LEVEL. WdfObjectAcquireLock adquireLock adquire um mutex rápido e retorna no IRQL do chamador. (Nesse caso, WdfObjectAcquireLock também chama KeEnterCriticalRegion antes de retornar para que as APCs de kernel normais sejam desabilitadas.)
Se o driver não especificou WdfExecutionLevelPassive para o membro ExecutionLevel da estrutura WDF_OBJECT_ATTRIBUTES do objeto especificado, o driver deverá chamar WdfObjectAcquireLock em IRQL <= DISPATCH_LEVEL. WdfObjectAcquireLock adquireLock adquire um 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 |
---|---|
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 Observações. |
Regras de conformidade da DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |