Bagikan melalui


Fungsi RxFinalizeVNetRoot (fcb.h)

RxFinalizeVNetRoot menyelesaikan struktur V_NET_ROOT yang diberikan. Pemanggil harus memiliki kunci eksklusif pada tabel netname yang terkait dengan objek perangkat.

Sintaks

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

Parameter

[out] ThisVNetRoot

Penunjuk ke struktur V_NET_ROOT untuk diselesaikan.

[in] RecursiveFinalize

Nilai yang menunjukkan apakah finalisasi harus dilakukan secara rekursif. Parameter ini saat ini tidak digunakan.

[in] ForceFinalize

Nilai yang menunjukkan apakah finalisasi harus dipaksakan, terlepas dari jumlah referensi.

Jika ForceFinalizeFALSE, maka anggota NodeReferenceCount dari struktur V_NET_ROOT yang ditunjukkan oleh ThisVNetRoot harus 1 agar V_NET_ROOT diselesaikan.

Nilai kembali

RxFinalizeVNetRoot mengembalikan TRUE pada keberhasilan atau FALSE jika finalisasi tidak terjadi:

Keterangan

Rutinitas RxFinalizeVNetRoot biasanya tidak dipanggil oleh driver pengalih mini jaringan secara langsung. RDBSS memanggil rutinitas ini secara internal ketika jumlah referensi pada V_NET_ROOT dikurangi menjadi 1.

RxFinalizeVNetRoot juga dipanggil oleh rutinitas RxFinalizeConnection jika parameter Level ke RxFinalizeConnection diatur ke TRUE. RxFinalizeConnection biasanya dipanggil oleh driver pengalihan mini jaringan sebagai respons untuk menerima permintaan IOCTL kustom dari mode pengguna. Misalnya, pengguna mungkin menjalankan dari baris perintah "NET USE x: /d" untuk menghapus berbagi. Permintaan ini akan dipetakan melalui DLL penyedia jaringan yang disediakan oleh pengalih mini jaringan ke permintaan IOCTL kustom yang dikirim ke driver kernel pengalihan mini jaringan yang akan memanggil rutinitas RxFinalizeConnection untuk menghapus koneksi dan struktur V_NET_ROOT terkait.

RxFinalizeVNetRoot juga disebut oleh rutinitas RxForceFinalizeAllVNetRoots untuk menyelesaikan setiap V_NET_ROOT yang terkait dengan struktur NET_ROOT.

Sebelum memanggil RxFinalizeVNetRoot, kunci pada tabel netname yang terkait dengan objek perangkat harus diperoleh dalam mode eksklusif.

Jika anggota UpperFinalization dari V_NET_ROOT adalah 0, maka RxFinalizeVNetRoot akan melakukan iterasi melalui semua FCB yang termasuk dalam NET_ROOT yang terkait dengan V_NET_ROOT ini dan yatim piatu semua struktur SRV_OPEN yang terkait dengan V_NET_ROOT.

RxFinalizeVNetRoot akan memanggil rutinitas MRxFinalizeVNetRoot yang disediakan oleh mini-redirector jaringan untuk menyelesaikan V_NET_ROOT sebelum memori untuk struktur V_NET_ROOT akan dirilis.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header fcb.h (termasuk Mrxfcb.h, Fcb.h)
IRQL <= APC_LEVEL

Lihat juga

MRxFinalizeVNetRoot

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

Struktur V_NET_ROOT