SerCxRetrieveTransmitBuffer 関数 (sercx.h)

SerCxRetrieveTransmitBuffer メソッドは、シリアル ポートに送信する準備ができているデータを含む出力バッファーを取得します。

構文

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

パラメーター

[in] Device

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

[in] Length

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

[in, out] BufferDescriptor

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

戻り値

SerCxRetrieveTransmitBuffer は、成功した場合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