SerCxRetrieveReceiveMdl 関数 (sercx.h)

SerCxRetrieveReceiveMdl メソッドは、入力データの次のブロックを受信するために使用するバッファーを記述する MDL を取得します。

構文

NTSTATUS SerCxRetrieveReceiveMdl(
  [in]  WDFDEVICE Device,
  [out] PMDL      *Mdl
);

パラメーター

[in] Device

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

[out] Mdl

メソッドが MDL へのポインターを書き込む場所へのポインター。

戻り値

呼び出しが成功した場合、SerCxRetrieveReceiveMdl はSTATUS_SUCCESSを返します。 可能な戻り値には、次のエラー コードが含まれます。

リターン コード 説明
STATUS_INVALID_DEVICE_REQUEST
この値は、次のいずれかが発生した場合に返されます。
  • MDL を取得するための未処理の受信要求はありません。
  • 受信した現在のバイト数 ( SerCxProgressReceive メソッドによって報告されたバイト数) は 0 と等しくありません。
  • バッファーは既に取得されています ( SerCxProgressReceive メソッドの対応する呼び出しがまだ発生していません)。
  • MDL は既に取得されています ( SerCxProgressReceive メソッドの対応する呼び出しがまだ発生していません)。

注釈

シリアル コントローラー ドライバーは、現在の受信 (読み取り) 操作に使用する MDL を取得するには、この関数を呼び出します。 MDL は、ドライバーが受信したデータを転送するバッファー メモリを記述します。 ドライバーは、 SerCxProgressReceive メソッドを呼び出すまで、この MDL の排他的な所有者です。その後、MDL ポインターが無効になり、ドライバーは MDL または MDL が記述するバッファー メモリへのアクセスを試みなくなります。

MDL の詳細については、「MDL の使用」を参照してください。

要件

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

こちらもご覧ください

SerCxProgressReceive