Freigeben über


RxCreateSrvOpen-Funktion (fcb.h)

RxCreateSrvOpen ordnet, initialisiert und fügt eine neue SRV_OPEN-Struktur in die von RDBSS verwendeten In-Memory-Datenstrukturen ein. Wenn eine neue Struktur zugeordnet werden muss, verfügt sie über Platz für eine FOBX-Struktur.

Syntax

PSRV_OPEN RxCreateSrvOpen(
  [in]      IN PV_NET_ROOT VNetRoot,
  [in, out] IN OUT PFCB    Fcb
);

Parameter

[in] VNetRoot

Ein Zeiger auf die V_NET_ROOT-Struktur.

[in, out] Fcb

Ein Zeiger auf die zugeordnete FCB-Struktur.

Rückgabewert

RxCreateSrvOpen gibt einen Zeiger auf eine neu erstellte SRV_OPEN Datenstruktur bei Erfolg oder einen NULL-Zeiger bei Fehlern zurück.

Hinweise

Die RxCreateSrvOpen-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 SRV_OPEN erstellt werden muss. Dieser IRP wird normalerweise von RDBSS als Reaktion darauf empfangen, dass eine Anwendung im Benutzermodus einen Dateierstellungsvorgang für eine Netzwerkfreigabe anfordert. Es ist auch möglich, dass ein anderer Kerneltreiber eine solche IRP ausgibt.

Vor dem Aufrufen von RxCreateSrvOpen muss eine Sperre für die zugehörige FCB-Struktur im exklusiven Modus erworben werden.

RxCreateSrvOpen versucht, die SRV_CALL zu verwenden, die als Teil der zugeordneten FCB-Struktur zugeordnet ist, sofern verfügbar. Wenn die dem FCB zugeordnete SRV_CALL nicht verfügbar ist, ordnet RxCreateSrvOpen eine neue SRV_CALL-Struktur zu.

Wenn es sich bei dem zugeordneten FCB um eine Auslagerungsdatei handelt, weist RxCreateSrvOpen beim Erstellen der neuen SRV_OPEN-Datenstruktur nicht ausgelagerten Poolspeicher zu. Wenn der zugeordnete FCB keine Auslagerungsdatei ist, weist RxCreateSrvOpen beim Erstellen der neuen SRV_OPEN-Datenstruktur ausgelagerten Poolspeicher zu.

Windows lässt derzeit keine Auslagerungsdatei auf einem Remotecomputer zu.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile fcb.h (einschließlich Mrxfcb.h, Fcb.h)
IRQL <= APC_LEVEL

Weitere Informationen

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialisierung

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

Die FCB-Struktur

Die SRV_OPEN-Struktur

Die V_NET_ROOT-Struktur