SerCxProgressReceive 函式 (sercx.h)
SerCxProgressReceive 方法會報告目前讀取 (receive) 作業的進度。
語法
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 |