次の方法で共有


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

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

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構造体がページプール以外のメモリから割り当てられます。

要件

要件
対象プラットフォーム デスクトップ
Header rxcontx.h (Rxprocs.h rxcontx.h を含む)
IRQL <= APC_LEVEL

こちらもご覧ください

RX_CONTEXT

RxCompleteRequest

RxCompleteRequest_Real

RxDereference

RxDereferenceAndDeleteRxContext_Real

RxInitializeContext

RxPrepareContextForReuse

RxResumeBlockedOperations_Serially

__RxSynchronizeBlockingOperations

__RxSynchronizeBlockingOperationsMaybeDroppingFcbLock