Fungsi FsRtlMupGetProviderInfoFromFileObject (ntifs.h)
Rutinitas FsRtlMupGetProviderInfoFromFileObject mendapatkan informasi tentang pengalih jaringan yang terdaftar di beberapa penyedia UNC (MUP) dari objek file untuk file yang terletak di sistem file jarak jauh.
Sintaks
NTSTATUS FsRtlMupGetProviderInfoFromFileObject(
[in] PFILE_OBJECT pFileObject,
[in] ULONG Level,
[out] PVOID pBuffer,
[in, out] PULONG pBufferSize
);
Parameter
[in] pFileObject
Penunjuk ke objek file file yang terletak di sistem file jarak jauh.
[in] Level
Tingkat informasi yang dikembalikan oleh rutinitas FsRtlMupGetProviderInfoFromFileObject . Untuk informasi selengkapnya tentang nilai yang mungkin untuk parameter ini, lihat bagian Keterangan.
[out] pBuffer
Penunjuk ke buffer yang menerima informasi yang dikembalikan oleh rutinitas FsRtlMupGetProviderInfoFromFileObject . Untuk informasi selengkapnya tentang format data yang dikembalikan dalam buffer ini, lihat bagian Keterangan.
[in, out] pBufferSize
Penunjuk ke variabel berjenis ULONG yang berisi ukuran, dalam byte, dari buffer yang diacu oleh parameter pBuffer . Jika rutinitas berhasil, variabel ini menerima ukuran, dalam byte, data yang dikembalikan dalam buffer.
Nilai kembali
Rutinitas FsRtlMupGetProviderInfoFromFileObject mengembalikan salah satu nilai NTSTATUS berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Informasi tentang pengalihan jaringan berhasil dikembalikan dalam buffer yang diarahkan oleh parameter pBuffer . |
|
Salah satu parameter adalah NULL atau berisi nilai yang tidak valid. |
|
Objek file yang diacu oleh parameter pFileObject tidak sesuai dengan objek file sistem file jarak jauh yang dibuka sepenuhnya. |
|
Ukuran buffer yang diacu oleh parameter pBuffer terlalu kecil untuk mengembalikan data apa pun. Dalam situasi ini, variabel yang ditunjukkan oleh parameter pBufferSize menerima ukuran yang diperlukan, dalam byte, dari buffer. |
|
Ukuran buffer yang diacu oleh parameter pBuffer terlalu kecil untuk mengembalikan semua data. Hanya data yang akan pas di buffer yang dikembalikan. Dalam situasi ini, variabel yang ditunjukkan oleh parameter pBufferSize menerima ukuran yang diperlukan, dalam byte, dari buffer. |
Keterangan
Driver filter sistem file dapat memanggil rutinitas FsRtlMupGetProviderInfoFromFileObject untuk mendapatkan informasi tentang pengalih jaringan dari objek file untuk file yang terletak di sistem file jarak jauh. Jumlah informasi yang dikembalikan oleh rutinitas FsRtlMupGetProviderInfoFromFileObject tergantung pada nilai parameter Level . Jika parameter Level diatur ke 1, rutinitas FsRtlMupGetProviderInfoFromFileObject mengembalikan struktur FSRTL_MUP_PROVIDER_INFO_LEVEL_1 dalam buffer yang diacu oleh parameter pBuffer . Struktur FSRTL_MUP_PROVIDER_INFO_LEVEL_1 didefinisikan sebagai berikut:
typedef struct _FSRTL_MUP_PROVIDER_INFO_LEVEL_1 {
ULONG32 ProviderId;
} FSRTL_MUP_PROVIDER_INFO_LEVEL_1, *PFSRTL_MUP_PROVIDER_INFO_LEVEL_1;
Jika parameter Level diatur ke 2, rutinitas FsRtlMupGetProviderInfoFromFileObject mengembalikan struktur FSRTL_MUP_PROVIDER_INFO_LEVEL_2 dalam buffer yang diacu oleh parameter pBuffer . Struktur FSRTL_MUP_PROVIDER_INFO_LEVEL_2 didefinisikan sebagai berikut:
typedef struct _FSRTL_MUP_PROVIDER_INFO_LEVEL_2 {
ULONG32 ProviderId;
UNICODE_STRING ProviderName;
} FSRTL_MUP_PROVIDER_INFO_LEVEL_2, *PFSRTL_MUP_PROVIDER_INFO_LEVEL_2;
Driver filter sistem file dapat dengan cepat membandingkan nilai pengidentifikasi penyedia dengan nilai pengidentifikasi penyedia lain tanpa perlu melakukan perbandingan string.
Nilai pengidentifikasi penyedia UNC untuk pengalihan jaringan tertentu tetap sama jika pengalih jaringan dibongkar dari sistem dan kemudian dimuat ulang kembali ke dalam sistem.
Untuk mendapatkan pengidentifikasi penyedia UNC dari pengalihan jaringan dari nama perangkat pengalih jaringan, driver filter sistem file dapat memanggil rutinitas FsRtlMupGetProviderIdFromName .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Fungsi FsRtlMupGetProviderInfoFromFileObject adalah Windows Vista |
Target Platform | Universal |
Header | ntifs.h (termasuk Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |