Compartir a través de


Función ExAcquireFastMutexUnsafe (wdm.h)

La rutina ExAcquireFastMutexUnsafe adquiere la exclusión mutua rápida especificada para el subproceso que llama.

Sintaxis

void ExAcquireFastMutexUnsafe(
  PFAST_MUTEX FastMutex
);

Parámetros

FastMutex

[in, out] Puntero a una estructura FAST_MUTEX) para la que el autor de la llamada proporciona el almacenamiento. El llamador inicializó previamente esta estructura mediante una llamada a la rutina ExInitializeFastMutex .

Valor devuelto

None

Observaciones

ExAcquireFastMutexUnsafe coloca al autor de la llamada en un estado de espera si la exclusión mutua rápida especificada no se puede adquirir inmediatamente. De lo contrario, el autor de la llamada tiene la propiedad de la exclusión mutua y el acceso exclusivo al recurso que protege la exclusión mutua hasta que el autor de la llamada libera la exclusión mutua.

Cualquier exclusión mutua rápida adquirida por una llamada a ExAcquireFastMutexUnsafe debe ser lanzada por una llamada a la rutina ExReleaseFastMutexUnsafe .

Las rutinas ExAcquireFastMutex y ExAcquireFastMutexUnsafe hacen que el subproceso de llamada se bloquee hasta que la exclusión mutua esté disponible. La rutina ExTryToAcquireFastMutex devuelve inmediatamente con el valor devuelto FALSE si otro subproceso ya ha adquirido la exclusión mutua. Tanto ExAcquireFastMutex como ExTryToAcquireFastMutex generan irQL para APC_LEVEL antes de adquirir la exclusión mutua rápida. Los controladores deben usar ExAcquireFastMutexUnsafe, que no genera irQL, solo si se cumple alguna de las siguientes condiciones:

  • El subproceso ya se está ejecutando en APC_LEVEL.

  • El subproceso adquiere la exclusión mutua dentro de una región crítica especificada anteriormente mediante una llamada a la rutina KeEnterCriticalRegion o FsRtlEnterFileSystem .

Para obtener más información sobre las exclusión mutuas rápidas, consulte los temas siguientes:

Exclusión mutua rápida y exclusión mutua protegida

Bloqueos, interbloqueos y sincronización

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000
Encabezado wdm.h
IRQL APC_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDDIs(storport)

Consulte también

ExAcquireFastMutex

ExInitializeFastMutex

ExReleaseFastMutexUnsafe

ExTryToAcquireFastMutex

FAST_MUTEX

FsRtlEnterFileSystem

KeEnterCriticalRegion

KeLeaveCriticalRegion