Condividi tramite


Funzione KsCancelIo (ks.h)

La funzione KsCancelIo annulla tutti i runtime di integrazione nell'elenco di annullamento specificato. Se un IRP nell'elenco non dispone di una routine di annullamento, solo il bit di annullamento viene impostato nell'IRP. La funzione può essere chiamata a livello di irQ DISPATCH_LEVEL o inferiore.

Sintassi

KSDDKAPI VOID KsCancelIo(
  [in, out] PLIST_ENTRY QueueHead,
  [in]      PKSPIN_LOCK SpinLock
);

Parametri

[in, out] QueueHead

Specifica l'intestazione di una coda gestita dal driver contenente l'IRP da annullare.

[in] SpinLock

Punta a un blocco spin allocato dal chiamante per l'accesso alla coda. Una copia di questo puntatore viene mantenuta nel KSQUEUE_SPINLOCK_IRP_STORAGE(Irp) di IRP per l'uso dalla routine di annullamento, se necessario.

Valore restituito

Nessuno

Osservazioni

KsCancelIo annulla tutti i runtime di integrazione in una determinata coda gestita dal driver. Se l'IRP ha una routine di annullamento, viene chiamata la routine di annullamento. In caso contrario, il flag di annullamento in IRP è impostato su TRUE. I runtime di integrazione non vengono rimossi dalla coda da questa routine. È responsabilità esclusiva del driver assicurarsi che i runtime di integrazione vengano rimossi dalla routine di annullamento specificata nell'IRP o da altre funzionalità fornite dal driver.

Se l'IRP annullato ha una routine di annullamento fornita dal driver, il blocco di selezione annulla può essere ottenuto dall'IRP chiamando KSQUEUE_SPINLOCK_IRP_STORAGE.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione ks.h (include Ks.h)
libreria Ks.lib
IRQL < DISPATCH_LEVEL

Vedere anche

KsAddIrpToCancelableQueue