SerCxProgressTransmit 函式 (sercx.h)
SerCxProgressTransmit 方法會報告目前寫入(傳輸)作業的進度。
語法
NTSTATUS SerCxProgressTransmit(
[in] WDFDEVICE Device,
[in] ULONG BytesTransmitted,
[in] SERCX_STATUS TransmitStatus
);
參數
[in] Device
代表序列控制器之架構裝置物件的WDFDEVICE句柄。
[in] BytesTransmitted
呼叫端從傳輸緩衝區複製的數據位元組數,這是由最近呼叫 SerCxRetrieveTransmitBuffer 方法所取得的傳輸緩衝區。
[in] TransmitStatus
傳輸作業的目前狀態。 將此參數設定為下列其中一個值:
- SerCxStatusSuccess
- SerCxStatusCancelled
NoteSerCxStatusTimeout 值僅適用於接收作業。 無法指定傳輸作業的時間間隔逾時。 如需詳細資訊,請參閱 SERIAL_TIMEOUTS。
傳回值
如果成功,SerCxProgressTransmit 會傳回STATUS_SUCCESS。 可能的錯誤傳回值包括下列狀態代碼。
傳回碼 | 描述 |
---|---|
|
BytesTransmitted 值超過可用的緩衝區長度;或 TransmitStatus 值無效。 |
|
在錯誤的 IRQL 呼叫方法;或 WDFDEVICE 句柄無效;或驅動程式尚未取得此傳輸作業的輸出緩衝區。 |
|
傳輸作業已經取消。 |
言論
序列控制器驅動程式會呼叫此方法,以報告未完成寫入作業的進度。 一般而言,序列控制器驅動程式會從其 DMA 完成回呼呼叫此方法(如果驅動程式使用 DMA 來讀取數據),或從其傳輸/接收 DPC 函式中呼叫此方法(如果使用 PIO)。
如果 SerCxProgressTransmit 呼叫未完成寫入作業的所有未完成工作,呼叫端必須再次呼叫 SerCxRetrieveTransmitBuff er,以取得新的緩衝區描述元並繼續傳輸數據。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
目標平臺 | 普遍 |
標頭 | sercx.h |
IRQL | <= DISPATCH_LEVEL |