Función IoCsqInitializeEx (wdm.h)
La rutina IoCsqInitializeEx inicializa la tabla de distribución para una cola IRP segura para cancelar.
Sintaxis
NTSTATUS IoCsqInitializeEx(
[out] PIO_CSQ Csq,
[in] PIO_CSQ_INSERT_IRP_EX 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 se va a inicializar IoCsqInitializeEx.
[in] CsqInsertIrp
Puntero a la función CsqInsertIrpEx definida por el controlador para la cola irP segura para cancelar el controlador.
[in] CsqRemoveIrp
Puntero a la función de CsqRemoveIr p definida por el controlador para la función IRP segura para cancelar el controlador.
[in] CsqPeekNextIrp
Puntero a la función de CsqPeekNextIr p definida por el controlador para la cola irP segura para cancelar el controlador.
[in] CsqAcquireLock
Puntero a la función de CsqAcquireLock definida por el controlador para la cola irP segura para cancelar el controlador.
[in] CsqReleaseLock
Puntero a la función de CsqReleaseLock definida por el controlador para la cola irP segura para cancelar el controlador.
[in] CsqCompleteCanceledIrp
Puntero a la función de CsqCompleteCanceledIr p definida por el controlador para la cola irP segura para cancelar el controlador.
Valor devuelto
ioCsqInitializeEx devuelve STATUS_SUCCESS correcto o el código de error adecuado en caso de error.
Observaciones
Las rutinas IoCsqInitialize y IoCsqInitializeEx inicializan una estructura de IO_CSQ que describe la cola irP segura para cancelación de un controlador. Puede usar IoCsqInitializeEx para especificar una cola IRP con funcionalidades extendidas en lugar de una especificada por IoCsqInitialize:
- El controlador implementa una rutina de CsqInsertIrpEx en lugar de una rutina de CsqInsertIrp. CsqInsertIrpEx toma un parámetro adicional, InsertContext. Cuando el controlador llama a ioCsqInsertIrpEx para insertar el IRP, especifica el valor que se pasa como InsertContext.
- ioCsqInsertIrpEx devuelve el valor devuelto de CsqInsertIrpEx. Los controladores pueden usar el valor devuelto para indicar si una operación de inserción se realizó correctamente o no.
Tenga en cuenta que ioCsqrutinas xxx usan el DriverContext[3] miembro 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 | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows Server 2003 y versiones posteriores del sistema operativo Windows. La rutina también está disponible en la biblioteca Csq.lib que se incluye con el Kit de controladores de Windows (WDK) y el Kit de desarrollo de controladores (DDK) para Windows Server 2003. Los controladores que también deben funcionar en Windows XP, Windows 2000 y Windows 98/Me pueden vincular a Csq.lib para usar la rutina. |
de la plataforma de destino de | Universal |
encabezado de | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | Cualquier nivel |