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