Função IoCsqInitialize (wdm.h)
A rotina IoCsqInitialize inicializa a tabela de expedição de fila IRP cancel-safe do driver.
Sintaxe
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
Ponteiro para a estrutura IO_CSQ a ser inicializada por IoCsqInitialize.
[in] CsqInsertIrp
Ponteiro para a função CsqInsertIrp definida pelo driver para a fila IRP cancel-safe do driver.
[in] CsqRemoveIrp
Ponteiro para a função CsqRemoveIrp definida pelo driver para a fila IRP cancel-safe do driver.
[in] CsqPeekNextIrp
Ponteiro para a função CsqPeekNextIrp definida pelo driver para a fila IRP cancel-safe do driver.
[in] CsqAcquireLock
Ponteiro para a função CsqAcquireLock definida pelo driver para a fila IRP cancel-safe do driver.
[in] CsqReleaseLock
Ponteiro para a função CsqReleaseLock definida pelo driver para a fila IRP cancel-safe do driver.
[in] CsqCompleteCanceledIrp
Ponteiro para a função CsqCompleteCanceledIrp definida pelo driver para a fila IRP cancel-safe do driver.
Retornar valor
Essa rotina retorna STATUS_SUCCESS em caso de êxito ou o código de erro NTSTATUS apropriado em caso de falha.
Comentários
A rotina IoCsqInitialize inicializa uma estrutura de IO_CSQ que descreve a fila IRP cancel-safe de um driver. Os drivers também podem usar IoCsqInitializeEx para criar uma fila IRP com recursos estendidos. Para obter mais informações, consulte Filas IRP cancel-safe.
Observe que as rotinas do IoCsqXxx usam o membro DriverContext[3] do IRP para armazenar informações de contexto IRP. Os drivers que usam essas rotinas para enfileirar IRPs devem deixar esse membro não utilizado.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows XP e versões posteriores do sistema operacional Windows. Os drivers que também devem funcionar para Windows 2000 e Windows 98/Me podem, em vez disso, vincular-se ao Csq.lib para usar a rotina. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualquer nível |