Compartilhar via


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)

Confira também

WDF_OBJECT_ATTRIBUTES

KeEnterCriticalRegion

WdfObjectReleaseLock