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) |