Compartir a través de


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)

Consulte también

IoReleaseCancelSpinLock

IoSetCancelRoutine