Share via


RxCreateVNetRoot 関数 (fcb.h)

RxCreateVNetRoot は、NET_ROOT構造体を割り当てて初期化し、関連付けられているデバイス オブジェクトのネット名テーブルに名前を挿入します。

構文

PV_NET_ROOT RxCreateVNetRoot(
  [in] IN PRX_CONTEXT       RxContext,
  [in] IN PNET_ROOT         NetRoot,
  [in] IN PUNICODE_STRING   CanonicalName,
  [in] IN PUNICODE_STRING   LocalNetRootName,
  [in] IN PUNICODE_STRING   FilePath,
  [in] IN PRX_CONNECTION_ID RxConnectionId
);

パラメーター

[in] RxContext

作成操作を記述する IRP を含む RDBSS RX_CONTEXTへのポインター。

[in] NetRoot

関連付けられているNET_ROOT構造体へのポインター。

[in] CanonicalName

名前テーブルに挿入する正規名へのポインター。

[in] LocalNetRootName

プレフィックス名のないローカル NET_ROOT名へのポインター。

[in] FilePath

ファイル パス名へのポインター。 このパラメーターは現在使用されておらず、 NULL にすることができます。

[in] RxConnectionId

プレフィックス名テーブルに挿入する名前に関連付ける接続 ID へのポインター。 このパラメーターには NULL を 指定できます。この場合、名前テーブルに挿入された名前に接続 ID は関連付けされません。

戻り値

RxCreateVNetRoot は、成功した場合は新しく作成されたV_NET_ROOTデータ構造へのポインター、または失敗した場合は NULL ポインターを返します。

注釈

RxCreateVNetRoot ルーチンは、通常、ネットワーク ミニ リダイレクター ドライバーによって直接呼び出されません。 RDBSS は、IRP_MJ_CREATEの I/O 要求パケットを受信し、V_NET_ROOTを作成する必要がある場合に、このルーチンを内部的に呼び出します。 通常、この IRP は、ネットワーク共有でファイル作成操作を要求するユーザー モード アプリケーションに応答して、RDBSS によって受信されます。 また、別のカーネル ドライバーがこのような IRP を発行することもできます。

RxCreateVNetRoot を呼び出す前に、RxContext パラメーターのデバイス オブジェクト メンバーに関連付けられている名前テーブルのロックを排他モードで取得する必要があります。

RxCreateVNetRoot は、RX_CONTEXTのパラメーターに基づいて、V_NET_ROOT構造にさまざまなセキュリティ コンテキスト パラメーターを設定します。 これらのパラメーターには、 LogonIdSessionIdpUserNamepUserDomainNamepPassword、Flags が含 まれます

要件

要件
対象プラットフォーム デスクトップ
Header fcb.h (Rxcontx.h、Mrxfcb.h、Prefix.h、Struchdr.h、Fcb.h を含む)
IRQL <= APC_LEVEL

こちらもご覧ください

RX_CONTEXT

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxInferFileType

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

NET_ROOT構造体

V_NET_ROOT構造体