Función IoCsqInitialize (wdm.h)

La rutina IoCsqInitialize inicializa la tabla de distribución de cola irP segura para cancelación del controlador.

Sintaxis

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
);

Parámetros

[out] Csq

Puntero a la estructura de IO_CSQ que IoCsqInitialize va a inicializar.

[in] CsqInsertIrp

Puntero a la función CsqInsertIrp definida por el controlador para la cola IRP con seguridad de cancelación del controlador.

[in] CsqRemoveIrp

Puntero a la función CsqRemoveIrp definida por el controlador para la cola IRP con seguridad de cancelación del controlador.

[in] CsqPeekNextIrp

Puntero a la función CsqPeekNextIrp definida por el controlador para la cola IRP con seguridad de cancelación del controlador.

[in] CsqAcquireLock

Puntero a la función CsqAcquireLock definida por el controlador para la cola IRP segura para cancelación del controlador.

[in] CsqReleaseLock

Puntero a la función CsqReleaseLock definida por el controlador para la cola IRP segura para cancelar el controlador.

[in] CsqCompleteCanceledIrp

Puntero a la función CsqCompleteCanceledIrp definida por el controlador para la cola IRP con seguridad de cancelación del controlador.

Valor devuelto

Esta rutina devuelve STATUS_SUCCESS si se ejecuta correctamente o el código de error NTSTATUS adecuado en caso de error.

Comentarios

La rutina IoCsqInitialize inicializa una estructura de IO_CSQ que describe la cola irP segura para cancelación de un controlador. Los controladores también pueden usar IoCsqInitializeEx para crear una cola IRP con funcionalidades extendidas. Para obtener más información, consulte Cancel-Safe IRP Queues( Colas irP seguras para cancelar).

Tenga en cuenta que las rutinas IoCsqXxx usan el miembro DriverContext[3] del IRP para contener información de contexto de IRP. Los controladores que usan estas rutinas para poner en cola los IRP deben dejar ese miembro sin usar.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows XP y versiones posteriores del sistema operativo Windows. Los controladores que también deben funcionar para Windows 2000 y Windows 98/Me pueden vincular a Csq.lib para usar la rutina.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL Cualquier nivel

Consulte también

CsqAcquireLock

CsqCompleteCanceledIrp

CsqInsertIrp

CsqInsertIrpEx

CsqPeekNextIrp

CsqReleaseLock

CsqRemoveIrp

IO_CSQ

IoCsqInitializeEx

IoCsqInsertIrp

IoCsqInsertIrpEx

IoCsqRemoveIrp

IoCsqRemoveNextIrp