Funzione RxFinalizeVNetRoot (fcb.h)

RxFinalizeVNetRoot finalizza la struttura V_NET_ROOT specificata. Il chiamante deve avere un blocco esclusivo sulla tabella netname associata all'oggetto device.

Sintassi

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

Parametri

[out] ThisVNetRoot

Puntatore alla struttura V_NET_ROOT da finalizzare.

[in] RecursiveFinalize

Valore che indica se la finalizzazione deve essere eseguita in modo ricorsivo. Questo parametro non è attualmente usato.

[in] ForceFinalize

Valore che indica se la finalizzazione deve essere forzata, indipendentemente dal conteggio dei riferimenti.

Se ForceFinalize è FALSE, il membro NodeReferenceCount della struttura V_NET_ROOT puntata da ThisVNetRoot deve essere 1 per il completamento dell'V_NET_ROOT.

Valore restituito

RxFinalizeVNetRoot restituisceTRUE in caso di esito positivo o FALSE se la finalizzazione non si è verificata:

Commenti

La routine RxFinalizeVNetRoot non viene normalmente chiamata dai driver mini-reindirizzamento di rete direttamente. RDBSS chiama questa routine internamente quando il conteggio dei riferimenti sul V_NET_ROOT viene decrementato su 1.

RxFinalizeVNetRoot viene chiamato anche dalla routine RxFinalizeConnection se il parametro Level su RxFinalizeConnection è impostato su TRUE. RxFinalizeConnection viene normalmente chiamato da un driver di mini-reindirizzamento di rete in risposta alla ricezione di una richiesta IOCTL personalizzata dalla modalità utente. Ad esempio, un utente potrebbe eseguire dalla riga di comando "NET USE x: /d" per eliminare una condivisione. Questa richiesta viene mappata tramite la DLL del provider di rete fornita dal mini-redirector di rete a una richiesta IOCTL personalizzata inviata al driver kernel mini-redirector di rete che chiamerebbe la routine RxFinalizeConnection per eliminare la connessione e qualsiasi V_NET_ROOT strutture associate.

RxFinalizeVNetRoot viene chiamato anche dalla routine RxForceFinalizeAllVNetRoots per finalizzare ogni V_NET_ROOT associata a una struttura NET_ROOT.

Prima di chiamare RxFinalizeVNetRoot, è necessario acquisire un blocco nella tabella netname associata all'oggetto dispositivo in modalità esclusiva.

Se il membro UpperFinalization dell'V_NET_ROOT è 0, RxFinalizeVNetRoot eseguirà l'iterazione di tutti gli FCB che appartengono al NET_ROOT associato a questa V_NET_ROOT e orfane tutte le strutture SRV_OPEN associate al V_NET_ROOT.

RxFinalizeVNetRoot chiamerà la routine MRxFinalizeVNetRoot fornita dal mini-redirector di rete per finalizzare l'V_NET_ROOT prima che venga rilasciata la memoria per la struttura V_NET_ROOT.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione fcb.h (include Mrxfcb.h, Fcb.h)
IRQL <= APC_LEVEL

Vedi anche

MRxFinalizeVNetRoot

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

Struttura V_NET_ROOT