Freigeben über


RxFinalizeVNetRoot-Funktion (fcb.h)

RxFinalizeVNetRoot die angegebene V_NET_ROOT Struktur abgeschlossen. Der Aufrufer muss über eine exklusive Sperre in der Netname-Tabelle verfügen, die dem Geräteobjekt zugeordnet ist.

Syntax

BOOLEAN RxFinalizeVNetRoot(
  [out] OUT PV_NET_ROOT ThisVNetRoot,
  [in]  IN BOOLEAN      RecursiveFinalize,
  [in]  IN BOOLEAN      ForceFinalize
);

Parameter

[out] ThisVNetRoot

Ein Zeiger auf die V_NET_ROOT Struktur, die abgeschlossen werden soll.

[in] RecursiveFinalize

Der Wert, der angibt, ob die Fertigstellung rekursiv durchgeführt werden soll. Dieser Parameter wird derzeit nicht verwendet.

[in] ForceFinalize

Der Wert, der angibt, ob die Fertigstellung erzwungen werden soll, unabhängig von der Referenzanzahl.

Wenn ForceFinalizeFALSE-ist, muss das NodeReferenceCount-Element der V_NET_ROOT Struktur, auf das durch ThisVNetRoot- verwiesen wird, 1 sein, damit die V_NET_ROOT abgeschlossen werden.

Rückgabewert

RxFinalizeVNetRoot- gibt TRUE- bei Erfolg oder FALSE- zurück, wenn die Finalisierung nicht aufgetreten ist:

Bemerkungen

Die RxFinalizeVNetRoot Routine wird normalerweise nicht direkt von Netzwerk-Miniumleitungstreibern aufgerufen. RDBSS ruft diese Routine intern auf, wenn die Referenzanzahl für die V_NET_ROOT auf 1 erhöht wird.

RxFinalizeVNetRoot- wird auch von der RxFinalizeConnection Routine aufgerufen, wenn der Parameter LevelRxFinalizeConnect ion auf TRUEfestgelegt ist. RxFinalizeConnection wird normalerweise von einem Netzwerk-Miniumleitungstreiber aufgerufen, um eine benutzerdefinierte IOCTL-Anforderung vom Benutzermodus zu empfangen. Beispielsweise kann ein Benutzer über die Befehlszeile ein "NET USE x: /d" ausführen, um eine Freigabe zu löschen. Diese Anforderung würde über die Netzwerkanbieter-DLL zugeordnet werden, die vom Netzwerk-Miniumleitungsmodul zu einer benutzerdefinierten IOCTL-Anforderung gesendet wird, die an den Netzwerk-Miniumleitungs-Kerneltreiber gesendet wird, der die RxFinalizeConnection Routine aufrufen würde, um die Verbindung und alle zugehörigen V_NET_ROOT Strukturen zu löschen.

RxFinalizeVNetRoot- wird auch von der RxForceFinalizeAllVNetRoots-Routine aufgerufen, um die einzelnen V_NET_ROOT abzuschließen, die einer NET_ROOT Struktur zugeordnet sind.

Vor dem Aufrufen RxFinalizeVNetRoot-muss eine Sperre der netname-Tabelle, die dem Geräteobjekt zugeordnet ist, im exklusiven Modus abgerufen werden.

Wenn die UpperFinalization- Mitglied der V_NET_ROOT 0 ist, durchlaufen RxFinalizeVNetRoot- alle FCBs, die zu der NET_ROOT gehören, die diesem V_NET_ROOT zugeordnet sind, und verwaist alle SRV_OPEN Strukturen, die dem V_NET_ROOT zugeordnet sind.

RxFinalizeVNetRoot- ruft die MRxFinalizeVNetRoot Routine auf, die vom Netzwerkminiumleitungsmodul bereitgestellt wird, um die V_NET_ROOT abzuschließen, bevor der Speicher für die V_NET_ROOT-Struktur freigegeben wird.

Anforderungen

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

Siehe auch

MRxFinalizeVNetRoot-

RxCreateNetFcb

RxCreateNetFobx-

RxCreateNetRoot-

RxCreateSrvCall-

RxCreateSrvOpen

RxCreateVNetRoot-

RxDereference-

RxFinalizeConnection-

RxFinalizeNetFcb

RxFinalizeNetFobx-

RxFinalizeNetRoot-

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference-

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

V_NET_ROOT Struktur