Fungsi RxFsdPostRequest (rxprocs.h)
RxFsdPostRequest mengantre paket permintaan I/O (IRP) yang ditentukan oleh struktur RX_CONTEXT ke antrean pekerja untuk diproses oleh proses sistem file (FSP).
Sintaks
NTSTATUS RxFsdPostRequest(
[in] IN PRX_CONTEXT RxContext
);
Parameter
[in] RxContext
Penunjuk ke RX_CONTEXT yang berisi IRP yang akan diantrekan ke utas pekerja.
Menampilkan nilai
RxFsdPostRequest mengembalikan nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Permintaan asinkron dibuat dan telah diantrekan ke utas pekerja untuk diproses nanti. Status permintaan tertunda. |
Keterangan
RxFsdPostRequest biasanya dipanggil oleh RDBSS untuk memproses paket permintaan I/O asinkron (IRP). IRP ini biasanya diterima oleh RDBSS sebagai respons terhadap aplikasi mode pengguna yang meminta operasi pada file. Dimungkinkan juga bagi driver kernel lain untuk mengeluarkan IRP seperti itu.
Jika anggota Bendera dari struktur RX_CONTEXT yang ditunjukkan oleh parameter RxContext tidak memiliki set bit RX_CONTEXT_FLAG_NO_PREPOSTING_NEEDED, maka RxFsdPostRequest akan mencoba mengunci ruang alamat pengguna apa pun yang diperlukan untuk jenis permintaan tertentu. Permintaan yang mengakibatkan perilaku ini didasarkan pada anggota MajorFunction dari struktur RX_CONTEXT yang ditujukkan oleh RxContext dan menyertakan yang berikut:
- IRP_MJ_DIRECTORY CONTROL saat RxContext->MinorFunction IRP_MN_QUERY_DIRECTORY.
- IRP_MJ_QUERY_EA
- IRP_MJ_READ
- IRP_MJ_SET_EA
- IRP_MJ_WRITE
Jika anggota FileObject dari IRP tidak NULL dan permintaan dapat segera diposting untuk diproses (ambang batas untuk antrean perangkat kosong), maka ini akan terjadi. Jika tidak, permintaan akan diposting ke antrean luapan pada volume.
Semua panggilan ke RxFsdPostRequest diantrekan ke utas pekerja untuk memanggil rutinitas RxFsdDispatch yang melewati parameter RxContext .
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | rxprocs.h (termasuk Rxprocs.h, Rxcontx.h) |
IRQL | <= APC_LEVEL |