Función IoAcquireCancelSpinLock (wdm.h)
La rutina IoAcquireCancelSpinLock sincroniza las transiciones de estado cancelable para los IRP de una manera segura para varios procesadores.
Sintaxis
void IoAcquireCancelSpinLock(
PKIRQL Irql
);
Parámetros
Irql
[out] Puntero a una variable en la que se va a guardar el IRQL actual para una llamada posterior a IoReleaseCancelSpinLock. Normalmente, Irql se guarda en la pila como una variable local.
Valor devuelto
None
Observaciones
Un controlador que use las colas de dispositivos proporcionadas por el administrador de E/S en el objeto de dispositivo debe mantener el bloqueo de número de cancelación siempre que cambie el estado cancelable de un IRP con IoSetCancelRoutine.
Un controlador que administra su propia cola irP no necesita mantener el bloqueo de número de cancelación al llamar a IoSetCancelRoutine.
El titular del bloqueo de número de cancelación debe liberarlo rápidamente llamando a IoReleaseCancelSpinLock.
Se llama a una rutina Cancel proporcionada por el controlador con el bloqueo de número de cancelación mantenido. Debe liberar el bloqueo de número de cancelación cuando haya completado el IRP que se va a cancelar.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 |
Encabezado | wdm.h |
IRQL | <=DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | CancelSpinLock(storport), CancelSpinLock(wdm), CancelSpinlockRelease(wdm), HwStorPortProhibitedDIs(storport), SpinLockSafe(storport), SpinLockSafe(wdm) |