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
これらの値の詳細については、「 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 以降で使用できます。
対象プラットフォーム ユニバーサル
Header sercx.h
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

SERCX_STATUS

SerCxRetrieveReceiveBuffer