次の方法で共有


RxCreateNetRoot 関数 (fcb.h)

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

構文

PNET_ROOT RxCreateNetRoot(
  [in]           IN PSRV_CALL         SrvCall,
  [in]           IN PUNICODE_STRING   Name,
  [in]           IN ULONG             NetRootFlags,
  [in, optional] IN PRX_CONNECTION_ID RxConnectionId
);

パラメーター

[in] SrvCall

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

[in] Name

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

[in] NetRootFlags

NET_ROOT構造体の状態を示すために使用されるNET_ROOTの Flags メンバーを設定する値。

[in, optional] RxConnectionId

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

戻り値

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

注釈

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

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

NET_ROOT フラグは、ネットワーク ミニ リダイレクターに表示されるグループと、ネットワーク ミニ リダイレクターに表示されないグループの 2 つに分割されます。 表示される値は、NET_ROOTの Flags メンバーの下位 16 ビットです。 このルーチンは、設定されているフラグをチェックしたり、テストしたりしません。

成功すると、SRV_CALL構造体の参照カウントがインクリメントされます。

要件

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

こちらもご覧ください

RxCreateNetFcb

RxCreateNetFobx

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

NET_ROOT構造体

SRV_CALL構造体