Fungsi RxFinalizeConnection (rxprocs.h)

RxFinalizeConnection menghapus koneksi ke berbagi. Setiap file yang terbuka pada koneksi ditutup tergantung pada tingkat kekuatan yang ditentukan. Pengalih mini jaringan mungkin memilih untuk menjaga koneksi transportasi tetap terbuka karena alasan performa, kecuali beberapa opsi ditentukan untuk memaksa penutupan koneksi.

Sintaks

NTSTATUS RxFinalizeConnection(
  IN OUT PNET_ROOT   NetRoot,
  IN OUT PV_NET_ROOT VNetRoot,
  IN LOGICAL         ForceFilesClosed
);

Parameter

NetRoot

[in, out] Penunjuk ke struktur NET_ROOT sedang diselesaikan.

VNetRoot

Penunjuk ke struktur V_NET_ROOT sedang diselesaikan.

ForceFilesClosed

Bendera yang mengontrol perilaku rutinitas RxFinalizeConnection . Bendera bisa menjadi salah satu nilai berikut:

BENAR

RxFinalizeConnection berhasil terlepas dari apa pun jika file yatim piatu dan permintaan IRP_MN_NOTIFY_CHANGE_DIRECTORY terbuka. Opsi memaksa file-file yatim piatu ini ditutup.

PALSU

RxFinalizeConnection gagal jika file atau pemberitahuan perubahan terbuka.

0xff

RxFinalizeConnection menghapus referensi tambahan pada struktur V_NET_ROOT karena permintaan tambahkan koneksi, tetapi sebaliknya bertindak seperti FALSE. RxFinalizeConnection gagal jika file atau pemberitahuan perubahan terbuka.

Menampilkan nilai

RxFinalizeConnection mengembalikan STATUS_SUCCESS pada keberhasilan atau salah satu kode kesalahan berikut pada kegagalan:

Menampilkan kode Deskripsi
STATUS_CANCELLED
Anggota Bendera dari struktur RX_CONTEXT menunjukkan IRP dibatalkan.
STATUS_CONNECTION_IN_USE
Koneksi masih digunakan.
STATUS_FILES_OPEN
File terbuka, sehingga sambungan jarak jauh tidak boleh dihapus.
STATUS_LOCK_NOT_GRANTED
Kunci eksklusif pada yang terkait

Keterangan

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.

RxFinalizeConnection membatalkan semua permintaan yang beredar untuk struktur V_NET_ROOT tertentu. Struktur V_NET_ROOT ini dibuat dan dihapus secara independen dari file yang dibuka dan dimanipulasi di dalamnya. Oleh karena itu sangat penting bahwa ketika operasi penghapusan dicoba, semua permintaan yang beredar dibatalkan.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header rxprocs.h (termasuk Rxprocs.h)
IRQL <= APC_LEVEL

Lihat juga

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

Struktur NET_ROOT

Struktur V_NET_ROOT