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 |