Fungsi RxFinalizeSrvCall (fcb.h)
RxFinalizeSrvCall menyelesaikan struktur SRV_CALL yang diberikan. Pemanggil harus memiliki kunci eksklusif pada tabel netname yang terkait dengan objek perangkat.
Sintaks
BOOLEAN RxFinalizeSrvCall(
[out] OUT PSRV_CALL ThisSrvCall,
[in] IN BOOLEAN ForceFinalize
);
Parameter
[out] ThisSrvCall
Penunjuk ke struktur SRV_CALL untuk diselesaikan.
[in] ForceFinalize
Nilai yang menunjukkan apakah finalisasi harus dipaksakan, terlepas dari jumlah referensi.
Jika ForceFinalizeFALSE, maka anggota NodeReferenceCount dari struktur SRV_CALL yang ditunjukkan oleh ThisSrvCall harus 1 agar SRV_CALL diselesaikan.
Nilai kembali
RxFinalizeSrvCall mengembalikan TRUE pada keberhasilan atau FALSE jika finalisasi tidak terjadi:
Keterangan
Rutinitas RxFinalizeSrvCall biasanya tidak dipanggil oleh driver mini-redirector jaringan secara langsung. RDBSS memanggil rutinitas ini secara internal ketika jumlah referensi pada SRV_CALL dikurangi menjadi 1. RDBSS juga memanggil RxFinalizeSrvCall ketika driver mini-redirector jaringan dihentikan atau dibongkar.
Sebelum memanggil RxFinalizeSrvCall, kunci pada tabel netname yang terkait dengan objek perangkat harus diperoleh dalam mode eksklusif.
Jika ID proses eksekusi saat ini sama dengan ID proses RDBSS, maka utas pekerja yang tertunda akan dikirim untuk menghancurkan struktur SRV_CALL. Utas pekerja ini nantinya akan memanggil rutinitas MRxFinalizeSrvCall yang disediakan oleh pengalih mini jaringan untuk menyelesaikan SRV_CALL. Jika tidak, rutinitas MRxFinalizeSrvCall akan dipanggil langsung untuk menyelesaikan SRV_CALL.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | fcb.h (termasuk Mrxfcb.h, Fcb.h) |
IRQL | <= APC_LEVEL |