Función RxCeAllocateIrpWithMDL (rxce.h)

RxCeAllocateIrpWithMDL asigna un IRP y lo asocia a una lista de descriptores de memoria existente.

Sintaxis

PIRP RxCeAllocateIrpWithMDL(
  [in] IN CCHAR   StackSize,
  [in] IN BOOLEAN ChargeQuota,
  [in] IN PMDL    Buffer
);

Parámetros

[in] StackSize

Tamaño de pila que se va a asignar al IRP.

[in] ChargeQuota

Este parámetro debe establecerse en FALSE mediante controladores intermedios. Esto solo se puede establecer en TRUE mediante controladores de nivel superior a los que se llama en el contexto del subproceso que origina la solicitud de E/S para la que el controlador asigna otro IRP.

[in] Buffer

Puntero al búfer que contiene la lista de descriptores de memoria que se va a asociar a este IRP.

Valor devuelto

RxCeAllocateIrpWithMDL devuelve un puntero al IRP si se ejecuta correctamente o un puntero NULL en caso de error.

Comentarios

El objetivo de RxCeAllocateIrpWithMDL es permitir una depuración más sencilla de los IRP que se emiten a otros componentes y, a continuación, se detiene. Los IRP emitidos mediante RxCeAllocateIrpWithMDL se ponen en cola en una lista global de IRP mantenidas por RDBSS. Por lo tanto, cuando un RX_CONTEXT está esperando una finalización de envío, es posible recorrer la lista global para encontrar el IRP que está esperando en el transporte.

Se debe liberar un IRP asignado con una lista de descriptores de memoria asociada asignada con RxCeAllocateIrpWithMDL cuando el IRP se completa con RxCeFreeIrp.

IoAllocateIrp inicializa automáticamente los miembros del IRP e inserta el IRP en una lista global de IRP mantenidas por RDBSS. Si no se puede asignar memoria para que la MDL esté asociada al IRP, el IRP que se creó se libera y RxCeAllocateIrpWithMDL devuelve un puntero NULL que indica un error.

Requisitos

Requisito Value
Cliente mínimo compatible La rutina RxCeAllocateIrpWithMDL solo está disponible en Windows XP.
Plataforma de destino Escritorio
Encabezado rxce.h (incluir Rxce.h)
IRQL <= APC_LEVEL

Consulte también

MDL

RxCeFreeIrp