次の方法で共有


RxCreateRxContext 関数 (rxcontx.h)

RxCreateRxContext 、新しいRX_CONTEXT構造体を割り当て、データ構造を初期化します。

構文

PRX_CONTEXT RxCreateRxContext(
  [in, optional] IN PIRP                 Irp,
  [in]           IN PRDBSS_DEVICE_OBJECT RxDeviceObject,
  [in]           IN ULONG                InitialContextFlags
);

パラメーター

[in, optional] Irp

このRX_CONTEXT構造体によってカプセル化される IRP へのポインター。

[in] RxDeviceObject

このRX_CONTEXTと IRP が適用されるデバイス オブジェクトへのポインター。

[in] InitialContextFlags

Flags の初期値のセット RX_CONTEXT構造体に格納されるRX_CONTEXTデータ構造のメンバーです。 これらの初期値は、次の列挙体の任意の組み合わせにすることができます。

RX_CONTEXT_FLAG_WAIT

この値が設定されている場合、ファイル システム プロセスによって後で実行するために IRP をポストする必要はありませんが、完了するまで待機する必要があります。

RX_CONTEXT_FLAG_MUST_SUCCEED

この値が設定されている場合、操作は成功する必要があります。 この値は現在 RDBSS では使用されていませんが、ネットワーク ミニ リダイレクター ドライバーで使用される場合があります。

RX_CONTEXT_FLAG_MUST_SUCCEED_NONBLOCKING

この値が設定されている場合、非ブロッキング操作では操作が成功する必要があります。 この値は現在 RDBSS では使用されていませんが、ネットワーク ミニ リダイレクター ドライバーで使用される場合があります。

戻り値

RxCreateRxContext 、成功した場合は割り当てられたRX_CONTEXT データ構造へのポインター、または失敗した場合は NULL ポインターを返します。

備考

RxCreateRxContext 、RxInitializeContext 呼び出して、新しく作成されたRX_CONTEXT構造体を初期化してから戻ります。

RxCreateRxContext 、新しいRX_CONTEXTデータ構造を作成するときにページプール以外のメモリを割り当て、RX_CONTEXTの Flags メンバーに次の値を設定します。

この値を設定すると、RX_CONTEXT構造体はページプール以外のメモリから割り当てられます。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー rxcontx.h (Rxprocs.h rxcontx.h を含む)
IRQL <= APC_LEVEL

関連項目

RX_CONTEXT

RxCompleteRequest

RxCompleteRequest_Real

RxDereference

RxDereferenceAndDeleteRxContext_Real

RxInitializeContext

RxPrepareContextForReuse

RxResumeBlockedOperations_Serially

__RxSynchronizeBlockingOperations

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock