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

Confira também

MDL

RxCeFreeIrp