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を返します。 考えられるエラーの戻り値には、次の状態コードが含まれます。
リターン コード | 説明 |
---|---|
|
メソッドが間違った IRQL で呼び出されました。または WDFDEVICE ハンドルが無効です。または Device または BufferDescriptor が NULL です。または、ドライバーに既に送信バッファーがあります。 |
|
SERCX_BUFFER_DESCRIPTOR構造体に間違ったサイズが指定されています。 |
|
システム リソース (通常はメモリ) を割り当てませんでした。 |
注釈
シリアル コントローラー ドライバーは、このメソッドを呼び出して、現在の送信 (書き込み) 操作の出力データを含むバッファーを取得します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | sercx.h |
IRQL | <= DISPATCH_LEVEL |