共用方式為


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
如需這些值的詳細資訊,請參閱 SERCX_STATUS

傳回值

SerCxProgressReceive 如果成功,就會傳回STATUS_SUCCESS。 可能的錯誤傳回值包括下列狀態代碼。

傳回碼 描述
STATUS_INVALID_PARAMETER
BytesReceived 值超過可用的緩衝區長度;或 ReceiveStatus 值無效。
STATUS_INVALID_DEVICE_REQUEST
在錯誤的 IRQL 呼叫方法;或 WDFDEVICE 句柄無效;或驅動程式尚未取得此接收作業的輸入緩衝區。
STATUS_CANCELLED
已取消接收作業。

言論

序列控制器驅動程式會呼叫此方法,以報告未完成讀取作業的進度。 一般而言,序列控制器驅動程式會從其 DMA 完成回呼呼叫此方法(如果驅動程式使用 DMA 來讀取數據),或從其傳輸/接收 DPC 函式中呼叫此方法(如果使用 PIO)。

如果 SerCxProgressReceive 未完成讀取作業的所有未完成工作,呼叫端必須再次呼叫 SerCxRetrieveReceiveBuffer 方法,以取得新的緩衝區描述元並繼續接收數據。

要求

要求 價值
最低支援的用戶端 從 Windows 8 開始提供。
目標平臺 普遍
標頭 sercx.h
IRQL <= DISPATCH_LEVEL

另請參閱

SERCX_STATUS

SerCxRetrieveReceiveBuffer