Bagikan melalui


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)

Lihat juga

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo