RxCeAllocateIrpWithMDL 函数 (rxce.h)

RxCeAllocateIrpWithMDL 分配 IRP 并将其与现有内存描述符列表相关联。

语法

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

参数

[in] StackSize

要为 IRP 分配的堆栈大小。

[in] ChargeQuota

中间驱动程序应将此参数设置为 FALSE 。 只有最高级别驱动程序才能将其设置为 TRUE ,这些驱动程序在发起驱动程序要为其分配另一个 IRP 的 I/O 请求的线程上下文中调用。

[in] Buffer

指向缓冲区的指针,该缓冲区包含要与此 IRP 关联的内存描述符列表。

返回值

RxCeAllocateIrpWithMDL 在成功时返回指向 IRP 的指针,或在出错时返回 NULL 指针。

注解

RxCeAllocateIrpWithMDL 的目标是更轻松地调试颁发给其他组件的 IRP,然后停止。 使用 RxCeAllocateIrpWithMDL 颁发的 IRP 将排队到 RDBSS 维护的全局 IRP 列表。 因此,当RX_CONTEXT正在等待发送完成时,可以在全局列表中查找在传输中等待的 IRP。

使用 RxCeFreeIrp 完成 IRP 时,应释放使用 RxCeAllocateIrpWithMDL 分配的具有关联内存描述符列表的 IRP。

IoAllocateIrp 会自动初始化 IRP 的成员,并将 IRP 插入 RDBSS 维护的全局 IRP 列表中。 如果无法分配要与 IRP 关联的 MDL 的内存,则会释放创建的 IRP,RxCeAllocateIrpWithMDL 将返回一个指示失败的 NULL 指针。

要求

要求
最低受支持的客户端 RxCeAllocateIrpWithMDL 例程仅在 Windows XP 上可用。
目标平台 桌面
标头 rxce.h (包括 Rxce.h)
IRQL <= APC_LEVEL

另请参阅

MDL

RxCeFreeIrp