Função IoSetNextIrpStackLocation (wdm.h)
A rotina de IoSetNextIrpStackLocation define o local da pilha IRP em um IRP alocado pelo driver para o do chamador.
Sintaxe
void IoSetNextIrpStackLocation(
[in, out] PIRP Irp
);
Parâmetros
[in, out] Irp
Ponteiro para o IRP cujo local de pilha deve ser definido.
Valor de retorno
Nenhum
Observações
Em geral, essa rotina raramente é usada por motoristas. Ele é usado principalmente por drivers que exigem seu próprio local de pilha em um IRP que eles alocaram, por conta própria, para enviar para outro driver.
IoSetNextIrpStackLocation geralmente não é necessário porque:
- O driver recebeu o IRP que está passando de outro driver de nível superior e, portanto, ele já possui um local de pilha,
- Ou, o driver alocou o IRP, mas não precisa de seu próprio local de pilha porque pode manter tudo o que precisa em um bloco de contexto cujo endereço pode ser passado para sua rotina de IoCompletion.
Um driver não pode chamar IoSetNextIrpStackLocation com qualquer IRP alocado chamando IoBuildAsynchronousFsdRequest, IoBuildDeviceIoControlRequestou IoBuildSynchronousFsdRequest.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows 2000. |
da Plataforma de Destino | Área de trabalho |
cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | Qualquer nível |