次の方法で共有


RxCeAllocateIrpWithMDL 関数 (rxce.h)

RxCeAllocateIrpWithMDL は IRP を割り当て、既存のメモリ記述子リストに関連付けます。

構文

PIRP RxCeAllocateIrpWithMDL(
  [in] IN CCHAR   StackSize,
  [in] IN BOOLEAN ChargeQuota,
  [in] IN PMDL    Buffer
);

パラメーター

[in] StackSize

IRP に割り当てるスタック サイズ。

[in] ChargeQuota

このパラメーターは、中間ドライバーによって FALSE に設定する必要があります。 これは、ドライバーが別の IRP を割り当てる I/O 要求を生成するスレッドのコンテキストで呼び出される最上位レベルのドライバーによってのみ TRUE に設定できます。

[in] Buffer

この IRP に関連付けるメモリ記述子リストを含むバッファーへのポインター。

戻り値

RxCeAllocateIrpWithMDL は、成功した場合は IRP へのポインター、エラーの場合は NULL ポインターを返します。

注釈

RxCeAllocateIrpWithMDL の目的は、他のコンポーネントに発行され、停止する IRP のデバッグを容易にできるようにすることです。 RxCeAllocateIrpWithMDL を使用して発行された IRP は、RDBSS によって管理される IRP のグローバル リストにキューに入れられます。 したがって、RX_CONTEXTが送信完了を待機している場合、トランスポートで待機している IRP を見つけるためにグローバル リストをウォークすることができます。

RxCeAllocateIrpWithMDL で割り当てられた関連付けられたメモリ記述子リストで割り当てられた IRP は、RxCeFreeIrp を使用して IRP が完了したときに解放する必要があります。

IoAllocateIrp は、IRP のメンバーを自動的に初期化し、RDBSS によって管理される IRP のグローバル リストに IRP を挿入します。 IRP に関連付けられている MDL のメモリを割り当てることができない場合、作成された IRP は解放され、 RxCeAllocateIrpWithMDL はエラーを示す NULL ポインターを返します。

要件

要件
サポートされている最小のクライアント RxCeAllocateIrpWithMDL ルーチンは、Windows XP でのみ使用できます。
対象プラットフォーム デスクトップ
Header rxce.h (Rxce.h を含む)
IRQL <= APC_LEVEL

こちらもご覧ください

Mdl

RxCeFreeIrp