SerCxRetrieveReceiveMdl 函数 (sercx.h)

SerCxRetrieveReceiveMdl 方法检索描述用于接收下一个输入数据块的缓冲区的 MDL。

语法

NTSTATUS SerCxRetrieveReceiveMdl(
  [in]  WDFDEVICE Device,
  [out] PMDL      *Mdl
);

参数

[in] Device

表示串行控制器的框架设备对象的 WDFDEVICE 句柄。

[out] Mdl

指向方法将指针写入到 MDL 的位置的指针的指针。

返回值

如果调用成功,SerCxRetrieveReceiveMdl 返回STATUS_SUCCESS。 可能的返回值包括以下错误代码。

返回代码 描述
STATUS_INVALID_DEVICE_REQUEST
如果出现以下情况之一,则返回此值:
  • 没有从中获取 MDL 的未完成接收请求。
  • 接收的当前字节数(如 SerCxProgressReceive 方法所报告)不等于零。
  • 已检索缓冲区(并且尚未调用 SerCxProgressReceive 方法)。
  • 已检索 MDL(对 SerCxProgressReceive 方法的相应调用尚未发生)。

言论

串行控制器驱动程序调用此函数以获取用于当前接收(读取)操作的 MDL。 MDL 描述驱动程序要将接收的数据传输到其中的缓冲区内存。 驱动程序是此 MDL 的独占所有者,直到调用 SerCxProgressReceive 方法,之后 MDL 指针无效,并且驱动程序不能再尝试访问 MDL 描述的 MDL 或缓冲区内存。

有关 MDL 的详细信息,请参阅 使用 MDL

要求

要求 价值
最低支持的客户端 从 Windows 8 开始可用。
目标平台 普遍
标头 sercx.h
IRQL <= DISPATCH_LEVEL

另请参阅

SerCxProgressReceive