Função RxCeAllocateIrpWithMDL (rxce.h)
RxCeAllocateIrpWithMDL aloca um IRP e o associa a uma lista de descritores de memória existentes.
Sintaxe
PIRP RxCeAllocateIrpWithMDL(
[in] IN CCHAR StackSize,
[in] IN BOOLEAN ChargeQuota,
[in] IN PMDL Buffer
);
Parâmetros
[in] StackSize
O tamanho da pilha a ser alocado para o IRP.
[in] ChargeQuota
Esse parâmetro deve ser definido como FALSE por drivers intermediários. Isso pode ser definido como TRUE somente por drivers de nível mais alto que são chamados no contexto do thread que origina a solicitação de E/S para a qual o driver está alocando outro IRP.
[in] Buffer
Um ponteiro para o buffer que contém a lista de descritores de memória a ser associada a esse IRP.
Retornar valor
RxCeAllocateIrpWithMDL retorna um ponteiro para o IRP com êxito ou um ponteiro NULL no erro.
Comentários
A meta de RxCeAllocateIrpWithMDL é permitir a depuração mais fácil de IRPs que são emitidos para outros componentes e, em seguida, parar. Os IRPs emitidos usando RxCeAllocateIrpWithMDL são enfileirados em uma lista global de IRPs mantida pelo RDBSS. Assim, quando um RX_CONTEXT está aguardando uma conclusão de envio, é possível percorrer a lista global para encontrar o IRP que está aguardando no transporte.
Um IRP alocado com uma lista de descritores de memória associada alocada com RxCeAllocateIrpWithMDL deve ser liberado quando o IRP for concluído usando RxCeFreeIrp.
IoAllocateIrp inicializa automaticamente os membros do IRP e insere o IRP em uma lista global de IRPs mantida pelo RDBSS. Se a memória do MDL a ser associada ao IRP não puder ser alocada, o IRP criado será liberado e RxCeAllocateIrpWithMDL retornará um ponteiro NULL indicando falha.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | A rotina RxCeAllocateIrpWithMDL só está disponível no Windows XP. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | rxce.h (inclua Rxce.h) |
IRQL | <= APC_LEVEL |