Rutinitas MRxQueryFileInfo
RutinitasMRxQueryFileInfo dipanggil oleh RDBSS untuk meminta informasi file kueri pengalihan mini jaringan pada objek sistem file.
Sintaks
PMRX_CALLDOWN MRxQueryFileInfo;
NTSTATUS MRxQueryFileInfo(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
Parameter
RxContext [masuk, keluar]
Penunjuk ke struktur RX_CONTEXT. Parameter ini berisi IRP yang meminta operasi.
Mengembalikan nilai
MRxQueryFileInfo mengembalikan STATUS_SUCCESS keberhasilan atau nilai NTSTATUS yang sesuai, seperti salah satu hal berikut ini:
Menampilkan kode | Deskripsi |
---|---|
STATUS_ACCESS_DENIED | Pemanggil tidak memiliki keamanan yang tepat untuk operasi ini. |
STATUS_BUFFER_OVERFLOW | Buffer untuk menerima informasi file terlalu kecil. Nilai pengembalian ini harus dianggap berhasil dan sebanyak mungkin data yang valid harus dikembalikan dalam anggota Info.Buffer dari struktur RX_CONTEXT yang ditunjukkan oleh parameter RxContext . |
STATUS_BUFFER_TOO_SMALL | Buffer terlalu kecil untuk menerima data yang diminta. Jika nilai ini dikembalikan, anggota InformationToReturn dari struktur RX_CONTEXT yang diacu oleh parameter RxContext harus diatur ke ukuran minimum buffer yang diharapkan agar panggilan berhasil. |
STATUS_INSUFFICIENT_RESOURCES | Tidak ada cukup sumber daya untuk menyelesaikan kueri. |
STATUS_INVALID_NETWORK_RESPONSE | Buffer informasi file yang tidak valid diterima dari server jarak jauh. |
STATUS_INVALID_PARAMETER | Parameter yang tidak valid ditentukan. Nilai ini dapat dikembalikan jika nilai yang tidak valid untuk anggota FileInformationClass di RX_CONTEXT diteruskan. Nilai ini juga dapat dikembalikan jika anggota FileInformationClass yang ditentukan adalah untuk FileStreamInformation dan sistem file jarak jauh tidak mendukung aliran. |
STATUS_OBJECT_NAME_NOT_FOUND | Nama objek tidak ditemukan. Ini adalah kode kesalahan. |
Keterangan
RDBSS mengeluarkan panggilan ke MRxQueryFileInfo sebagai respons untuk menerima permintaan IRP_MJ_QUERY_INFORMATION .
Sebelum memanggil MRxQueryFileInfo, RDBSS memodifikasi anggota berikut dalam struktur RX_CONTEXT yang ditujukkan oleh parameter RxContext :
Anggota Info.FileInformationClass diatur ke IrpSp-Parameters.QueryFile.FileInformationClass>, nilai FILE_INFORMATION_CLASS yang diminta.
Anggota Info.Buffer diatur ke buffer pengguna dari paket permintaan I/O.
Anggota Info.LengthRemaining diatur ke IrpSp-Parameters.QueryFile.Length>.
Anggota QueryDirectory.FileIndex diatur ke IrpSp-Parameters.QueryDirectory.FileIndex>.
Anggota QueryDirectory.RestartScan diatur jika IrpSp-Flags> memiliki set bit SL_RESTART_SCAN.
Anggota QueryDirectory.ReturnSingleEntry diatur jika IrpSp-Flags> memiliki set bit SL_RETURN_SINGLE_ENTRY.
Anggota QueryDirectory.InitialQuery diatur jika Fobx-UnicodeQueryTemplate.Buffer> adalah NULL dan Fobx-Flags> tidak memiliki set bit FOBX_FLAG_MATCH_ALL.
Jika berhasil, pengalih mini jaringan harus mengatur anggota Info.LengthRemaining dari struktur RX_CONTEXT ke anggota Info.Length dikurangi panjang informasi file yang dikembalikan. Jika panggilan ke MRxQueryFileInfo berhasil, RDBSS mengatur anggota IoStatus.Information dari IRP ke IrpSp-Parameters.QueryFile.Length> dikurangi anggota Info.LengthRemaining dari RX_CONTEXT.
RDBSS tidak mendukung permintaan dengan bit SL_INDEX_SPECIFIED dari set IrpSp-Flags>. Pengalih mini jaringan tidak akan menerima panggilan ke MRxQueryFileInfo dengan bit SL_INDEX_SPECIFIED set IrpSp-Flags>.
Persyaratan
Platform target |
Desktop |
Header |
Mrx.h (termasuk Mrx.h) |