次の方法で共有


SerCxRetrieveTransmitBuffer 関数 (sercx.h)

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

構文

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

パラメーター

[in] Device

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

[in] Length

要求されたバッファーの長さ (バイト単位)。 SerCxRetrieveTransmitBuffer 呼び出しが成功した場合、呼び出し元は最大 バイトの使用可能なデータを含む出力バッファーを受け取ります。 (バッファー内の使用可能なデータは、 バイト未満である可能性があります)。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 以降で使用できます。
ターゲット プラットフォーム の 万国
ヘッダー sercx.h
IRQL <= DISPATCH_LEVEL

関連項目

SERCX_BUFFER_DESCRIPTOR

SERCX_BUFFER_DESCRIPTOR_INIT