SerCxRetrieveTransmitMdl 函数 (sercx.h)

SerCxRetrieveTransmitMdl 方法检索描述要传输的下一个输出数据的缓冲区的 MDL。

语法

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

参数

[in] Device

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

[out] Mdl

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

返回值

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

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

言论

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

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

要求

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

另请参阅

SerCxProgressTransmit