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 in IRP. La funzione può essere chiamata a livello 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 di selezione allocato dal chiamante per l'accesso alla coda. Una copia di questo puntatore viene conservata 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 provider di integrazione non vengono rimossi dalla coda da questa routine. È responsabilità esclusiva del driver assicurarsi che i provider 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.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ks.h (include Ks.h)
Libreria Ks.lib
IRQL < DISPATCH_LEVEL

Vedi anche

KsAddIrpToCancelableQueue