Condividi tramite


Funzione IoCsqInitialize (wdm.h)

La routine IoCsqInitialize inizializza la tabella di invio della coda IRP di annullamento sicura del driver.

Sintassi

NTSTATUS IoCsqInitialize(
  [out] PIO_CSQ                       Csq,
  [in]  PIO_CSQ_INSERT_IRP            CsqInsertIrp,
  [in]  PIO_CSQ_REMOVE_IRP            CsqRemoveIrp,
  [in]  PIO_CSQ_PEEK_NEXT_IRP         CsqPeekNextIrp,
  [in]  PIO_CSQ_ACQUIRE_LOCK          CsqAcquireLock,
  [in]  PIO_CSQ_RELEASE_LOCK          CsqReleaseLock,
  [in]  PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp
);

Parametri

[out] Csq

Puntatore alla struttura IO_CSQ da inizializzare IoCsqInitialize.

[in] CsqInsertIrp

Puntatore alla funzione di csqInsertIrp definita dal driver per la coda IRP di annullamento sicura del driver.

[in] CsqRemoveIrp

Puntatore alla funzione csqRemoveIrp definita dal driver per la coda IRP annullata del driver.

[in] CsqPeekNextIrp

Puntatore alla funzione di definita dal driver CsqPeekNextIrp per la coda IRP annulla-sicura del driver.

[in] CsqAcquireLock

Puntatore alla funzione di csqAcquireLock definita dal driver per la coda IRP annullata del driver.

[in] CsqReleaseLock

Puntatore alla funzione csqReleaseLock definita dal driver per la coda IRP di annullamento sicura del driver.

[in] CsqCompleteCanceledIrp

Puntatore alla funzione di csqCompleteCanceledIrp definita dal driver per la coda IRP annullata del driver.

Valore restituito

Questa routine restituisce STATUS_SUCCESS in caso di esito positivo o il codice di errore NTSTATUS appropriato in caso di errore.

Osservazioni

La routine IoCsqInitialize inizializza una struttura IO_CSQ che descrive la coda IRP di annullamento di un driver. I driver possono anche usare IoCsqInitializeEx per creare una coda IRP con funzionalità estese. Per altre informazioni, vedere Cancel-Safe code IRP.

Si noti che routine IoCsqXxx utilizzano il DriverContextmembro [3] dell'IRP per contenere le informazioni sul contesto IRP. I driver che usano queste routine per accodare i runtime di integrazione devono lasciare inutilizzati il membro.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Windows XP e versioni successive del sistema operativo Windows. I driver che devono funzionare anche per Windows 2000 e Windows 98/Me possono invece collegarsi a Csq.lib per usare la routine.
piattaforma di destinazione Universale
intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL Qualsiasi livello

Vedere anche

CsqAcquireLock

CsqCompleteCanceledIrp

csqInsertIrp

CsqInsertIrpEx

CsqPeekNextIrp

CsqReleaseLock

CsqRemoveIrp

IO_CSQ

IoCsqInitializeEx

IoCsqInsertIrp

IoCsqInsertIrpEx

IoCsqRemoveIrp

IoCsqRemoveNextIrp