SerCxProgressReceive 函数 (sercx.h)
SerCxProgressReceive 方法报告当前读取 (接收) 操作的进度。
语法
NTSTATUS SerCxProgressReceive(
[in] WDFDEVICE Device,
[in] ULONG BytesReceived,
[in] SERCX_STATUS ReceiveStatus
);
参数
[in] Device
表示串行控制器的框架设备对象的 WDFDEVICE 句柄。
[in] BytesReceived
调用方加载到接收缓冲区的数据字节数,该缓冲区是通过对 SerCxRetrieveReceiveBuffer 方法的最新调用获取的。
[in] ReceiveStatus
接收操作的当前状态。 将此参数设置为以下值之一:
- SerCxStatusSuccess
- SerCxStatusCancelled
- SerCxStatusTimeout
返回值
如果成功,SerCxProgressReceive 将返回STATUS_SUCCESS。 可能的错误返回值包括以下状态代码。
返回代码 | 说明 |
---|---|
|
BytesReceived 值超出了可用的缓冲区长度;或 ReceiveStatus 值无效。 |
|
在错误的 IRQL 中调用了 方法;或 WDFDEVICE 句柄无效;或驱动程序尚未获取此接收操作的输入缓冲区。 |
|
已取消接收操作。 |
注解
串行控制器驱动程序调用此方法以报告未完成读取操作的进度。 通常,如果驱动程序使用 DMA 读取) 数据,则串行控制器驱动程序从其 DMA 完成回调 (调用此方法,或者从其传输/接收 DPC 函数调用此方法 ((如果) 使用 PIO)。
如果 SerCxProgressReceive 未完成读取操作的所有未完成工作,调用方必须再次调用 SerCxRetrieveReceiveBuffer 方法以获取新的缓冲区描述符并继续接收数据。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从Windows 8开始可用。 |
目标平台 | 通用 |
标头 | sercx.h |
IRQL | <= DISPATCH_LEVEL |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈