Freigeben über


RxCreateVNetRoot-Funktion (fcb.h)

RxCreateVNetRoot weist und initialisiert eine NET_ROOT-Struktur und fügt den Namen in die Net Name-Tabelle des zugeordneten Geräteobjekts ein.

Syntax

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
);

Parameter

[in] RxContext

Ein Zeiger auf die RDBSS-RX_CONTEXT, die den IRP enthält, der einen Erstellungsvorgang beschreibt.

[in] NetRoot

Ein Zeiger auf die zugeordnete NET_ROOT-Struktur.

[in] CanonicalName

Ein Zeiger auf den kanonischen Namen, der in die Namenstabelle eingefügt werden soll.

[in] LocalNetRootName

Ein Zeiger auf den lokalen NET_ROOT Namen ohne präfixnamen.

[in] FilePath

Ein Zeiger auf einen Dateipfadnamen. Dieser Parameter wird derzeit nicht verwendet und kann NULL sein.

[in] RxConnectionId

Ein Zeiger auf die Verbindungs-ID, die dem Namen zugeordnet werden soll, der in die Präfixnamentabelle eingefügt werden soll. Dieser Parameter kann NULL sein. In diesem Fall wird keine Verbindungs-ID dem in die Namenstabelle eingefügten Namen zugeordnet.

Rückgabewert

RxCreateVNetRoot gibt einen Zeiger auf eine neu erstellte V_NET_ROOT Datenstruktur bei Erfolg oder einen NULL-Zeiger bei Fehler zurück.

Hinweise

Die RxCreateVNetRoot-Routine wird normalerweise nicht direkt von Netzwerk-Miniumleitungstreibern aufgerufen. RDBSS ruft diese Routine intern auf, wenn ein E/A-Anforderungspaket für IRP_MJ_CREATE empfangen wird und ein V_NET_ROOT erstellt werden muss. Diese IRP wird normalerweise von RDBSS als Reaktion auf eine Benutzermodusanwendung empfangen, die einen Dateierstellungsvorgang für eine Netzwerkfreigabe anfordert. Es ist auch möglich, dass ein anderer Kerneltreiber eine solche IRP ausgibt.

Vor dem Aufrufen von RxCreateVNetRoot muss eine Sperre für die Namenstabelle, die dem Element des Geräteobjekts des RxContext-Parameters zugeordnet ist, im exklusiven Modus abgerufen werden.

RxCreateVNetRoot legt eine Vielzahl von Sicherheitskontextparametern für die V_NET_ROOT-Struktur basierend auf Parametern aus dem RX_CONTEXT fest. Zu diesen Parametern gehören: LogonId, SessionId, pUserName, pUserDomainName, pPassword und Flags.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile fcb.h (include Rxcontx.h, Mrxfcb.h, Prefix.h, Struchdr.h, Fcb.h)
IRQL <= APC_LEVEL

Weitere Informationen

RX_CONTEXT

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialisierung

RxForceFinalizeAllVNetRoots

RxInferFileType

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

Die NET_ROOT-Struktur

Die V_NET_ROOT-Struktur