PMRX_CHANGE_BUFFERING_STATE_CALLDOWN fungsi panggilan balik (mrx.h)
RutinitasMRxCompleteBufferingStateChangeRequest dipanggil oleh RDBSS untuk memberi tahu pengalih mini jaringan bahwa permintaan perubahan status buffering telah selesai.
Sintaks
PMRX_CHANGE_BUFFERING_STATE_CALLDOWN PmrxChangeBufferingStateCalldown;
NTSTATUS PmrxChangeBufferingStateCalldown(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in, out] IN OUT PMRX_SRV_OPEN SrvOpen,
[in] IN PVOID MRxContext
)
{...}
Parameter
[in, out] RxContext
Penunjuk ke struktur RX_CONTEXT. Parameter ini berisi IRP yang meminta operasi.
[in, out] SrvOpen
Penunjuk ke parameter konteks untuk digunakan oleh rutinitas panggilan balik pengalih mini jaringan.
[in] MRxContext
Penunjuk ke struktur SRV_OPEN dan struktur FCB terkait yang akan diubah.
Nilai kembali
MRxCompleteBufferingStateChangeRequest mengembalikan STATUS_SUCCESS pada keberhasilan atau nilai NTSTATUS yang sesuai, seperti berikut ini:
Menampilkan kode | Deskripsi |
---|---|
STATUS_NOT_SUPPORTED | Opsi dalam perubahan permintaan buffering tidak didukung. |
Keterangan
Sebelum memanggil MRxCompleteBufferingStateChangeRequest, RDBSS:
Memperoleh kunci eksklusif pada struktur FCB.
Mengatur anggota FcbState dari SrvOpen-Fcb> ke FCB_STATE_BUFFERSTATE_CHANGING.
Memodifikasi anggota berikut dalam struktur RX_CONTEXT yang ditujukkan oleh parameter RxContext :
- pRelevantSrvOpen diatur ke struktur SRV_OPEN.
- pFcb diatur ke struktur FCB.
- pFobx diatur ke struktur FOBX.
Jika buffering kunci diaktifkan, MRxCompleteBufferingStateChangeRequest perlu menghapus kunci rentang byte ke server. Daftar wilayah terkunci diteruskan ke pengalih mini jaringan di anggota LowIoContext.ParamsFor.Locks.LockList dari struktur RX_CONTEXT.
Pengalih Blok Pesan Server (SMB) menggunakan MRxCompleteBufferingStateChangeRequest untuk mengirim respons pemutusan oplock atau untuk menutup handel pada jeda oplock jika file tidak lagi digunakan. Kunci rentang byte yang perlu dihapus ke server diteruskan ke pengalih mini jaringan di anggota LowIoContext.ParamsFor.Locks.LockList dari struktur RX_CONTEXT. Tingkat oplock baru diteruskan dalam parameter MrxContext .
RDBSS mengabaikan nilai pengembalian dari MRxCompleteBufferingStateChangeRequest.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | mrx.h (termasuk Mrx.h) |