Función WdfObjectAcquireLock (wdfsync.h)

[Se aplica a KMDF y UMDF]

El método WdfObjectAcquireLock adquiere el bloqueo de sincronización de un objeto.

Sintaxis

VOID WdfObjectAcquireLock(
  _In_ WDFOBJECT Object
);

Parámetros

[in] Object

Identificador de un objeto de dispositivo de marco o un objeto de cola de marco.

Comentarios

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Un controlador puede llamar al método WdfObjectAcquireLock para adquirir el bloqueo de sincronización asociado a un objeto de dispositivo de marco o un objeto de cola de marco especificado. El método no devuelve hasta que se haya adquirido el bloqueo.

Cuando el controlador ya no necesita el bloqueo de sincronización del objeto, debe llamar a WdfObjectReleaseLock.

Si el controlador especificó WdfExecutionLevelPassive para el miembro ExecutionLevel de la estructura de WDF_OBJECT_ATTRIBUTES del objeto especificado, el controlador debe llamar a WdfObjectAcquireLock en IRQL <= APC_LEVEL. WdfObjectAcquireLock adquiere una exclusión mutua rápida y devuelve en el IRQL del autor de la llamada. (En este caso, WdfObjectAcquireLock también llama a KeEnterCriticalRegion antes de devolver para que las API de kernel normales estén deshabilitadas).

Si el controlador no especificó WdfExecutionLevelPassive para el miembro ExecutionLevel de la estructura de WDF_OBJECT_ATTRIBUTES del objeto especificado, el controlador debe llamar a WdfObjectAcquireLock en IRQL <= DISPATCH_LEVEL. WdfObjectAcquireLock adquiere un bloqueo de número y devuelve en IRQL = DISPATCH_LEVEL.

Para obtener más información sobre los bloqueos de sincronización, consulte Técnicas de sincronización para controladores de Framework-Based.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfsync.h (incluya Wdf.h)
IRQL vea la sección Comentarios.
Reglas de cumplimiento de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

WDF_OBJECT_ATTRIBUTES

KeEnterCriticalRegion

WdfObjectReleaseLock