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 da IoCsqInitialize.

[in] CsqInsertIrp

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

[in] CsqRemoveIrp

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

[in] CsqPeekNextIrp

Puntatore alla funzione CsqPeekNextIrp definita dal driver per la coda IRP annullabile del driver.

[in] CsqAcquireLock

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

[in] CsqReleaseLock

Puntatore alla funzione CsqReleaseLock definita dal driver per la coda IRP annullabile del driver.

[in] CsqCompleteCanceledIrp

Puntatore alla funzione CsqCompleteCanceledIrp definita dal driver per la coda IRP annullabile 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.

Commenti

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

Si noti che le routine IoCsqXxx usano il membro DriverContext[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.

Requisiti

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

Vedi anche

CsqAcquireLock

CsqCompleteCanceledIrp

CsqInsertIrp

CsqInsertIrpEx

CsqPeekNextIrp

CsqReleaseLock

CsqRemoveIrp

IO_CSQ

IoCsqInitializeEx

IoCsqInsertIrp

IoCsqInsertIrpEx

IoCsqRemoveIrp

IoCsqRemoveNextIrp