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 |