SerCxRetrieveReceiveBuffer 関数 (sercx.h)

SerCxRetrieveReceiveBuffer メソッドは、シリアル ポートから受信したデータを読み込むことができる入力バッファーを取得します。

構文

NTSTATUS SerCxRetrieveReceiveBuffer(
  [in]      WDFDEVICE                Device,
  [in]      ULONG                    Length,
  [in, out] PSERCX_BUFFER_DESCRIPTOR BufferDescriptor
);

パラメーター

[in] Device

シリアル コントローラーを表すフレームワーク デバイス オブジェクトへの WDFDEVICE ハンドル。

[in] Length

要求されたバッファー長 (バイト単位)。 SerCxRetrieveReceiveBuffer 呼び出しが成功した場合、呼び出し元は、使用可能な領域の最大長バイトを含む入力バッファーを受け取ります。 (バッファー内の使用可能な領域が Length バイトより小さい場合があります)。SerCxRetrieveReceiveBuffer は、BufferDescriptor パラメーターが指す構造体の Length メンバーに、使用可能な領域の実際のバイト数を書き込みます。

[in, out] BufferDescriptor

呼び出し元によって割り当てられた SERCX_BUFFER_DESCRIPTOR 構造体へのポインター。 この構造体は、受信操作に使用するデータ バッファーを記述します。 呼び出し元は以前、この構造体を初期化するために SERCX_BUFFER_DESCRIPTOR_INIT 関数を呼び出しました。 SerCxRetrieveTransmitBuffer は、この構造体の Buffer メンバーと Length メンバーに書き込みます。

戻り値

SerCxRetrieveReceiveBuffer は、成功した場合STATUS_SUCCESSを返します。 エラーの戻り値として考えられるのは、次の状態コードです。

リターン コード 説明
STATUS_INVALID_DEVICE_REQUEST
メソッドが間違った IRQL で呼び出されました。または WDFDEVICE ハンドルが無効です。または Device または BufferDescriptor のいずれかが NULL です。または、ドライバーに既に受信バッファーがあります。
STATUS_INFO_LENGTH_MISMATCH
SERCX_BUFFER_DESCRIPTOR構造体のサイズが正しくありません。
STATUS_INSUFFICIENT_RESOURCES
システム リソース (通常はメモリ) を割り当てませんでした。

注釈

シリアル コントローラー ドライバーは、現在の受信 (読み取り) 操作からの入力データを格納するバッファーを取得するには、このメソッドを呼び出します。

要件

要件
サポートされている最小のクライアント Windows 8 以降で使用できます。
対象プラットフォーム ユニバーサル
Header sercx.h
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

SERCX_BUFFER_DESCRIPTOR

SERCX_BUFFER_DESCRIPTOR_INIT