FsRtlMupGetProviderInfoFromFileObject 函式 (ntifs.h)

FsRtlMupGetProviderInfoFromFileObject 例程會取得向多個 UNC 提供者註冊的網路重新導向器相關信息, (MUP) 位於遠端文件系統上的檔案物件。

語法

NTSTATUS FsRtlMupGetProviderInfoFromFileObject(
  [in]      PFILE_OBJECT pFileObject,
  [in]      ULONG        Level,
  [out]     PVOID        pBuffer,
  [in, out] PULONG       pBufferSize
);

參數

[in] pFileObject

位於遠端檔案系統上之檔案之檔案物件的指標。

[in] Level

FsRtlMupGetProviderInfoFromFileObject 例程所傳回的信息層級。 如需此參數可能值的詳細資訊,請參閱一節。

[out] pBuffer

緩衝區的指標,接收 FsRtlMupGetProviderInfoFromFileObject 例程所傳回的資訊。 如需此緩衝區中傳回之數據格式的詳細資訊,請參閱一節。

[in, out] pBufferSize

ULONG 型別變數的指標,其中包含 pBuffer 參數所指向之緩衝區的大小,以位元組為單位。 如果例程成功,此變數會接收緩衝區中傳回之數據的大小,以位元組為單位。

傳回值

FsRtlMupGetProviderInfoFromFileObject 例程會傳回下列其中一個 NTSTATUS 值。

傳回碼 Description
STATUS_SUCCESS
網路重新導向器的相關信息已成功在 pBuffer 參數所指向的緩衝區中傳回。
STATUS_INVALID_PARAMETER
其中一個參數是 NULL ,或包含無效的值。
STATUS_OBJECT_NAME_NOT_FOUND
pFileObject 參數所指向的檔案物件不會對應至完全開啟的遠端檔系統檔案物件。
STATUS_BUFFER_TOO_SMALL
pBuffer 參數所指向的緩衝區大小太小,無法傳回任何數據。 在此情況下, pBufferSize 參數所指向的變數會接收緩衝區所需的大小,以位元組為單位。
STATUS_BUFFER_OVERFLOW
pBuffer 參數所指向的緩衝區大小太小,無法傳回所有數據。 只會傳回符合緩衝區的數據。 在此情況下, pBufferSize 參數所指向的變數會接收緩衝區所需的大小,以位元組為單位。

備註

文件系統篩選驅動程式可以呼叫 FsRtlMupGetProviderInfoFromFileObject 例程,從位於遠端文件系統的檔案物件取得網路重新導向器的相關信息。 FsRtlMupGetProviderInfoFromFileObject 例程所傳回的資訊量取決於 Level 參數的值。 如果 Level 參數設定為 1,FsRtlMupGetProviderInfoFromFileObject 例程會傳回 pBuffer 參數所指向之緩衝區中的FSRTL_MUP_PROVIDER_INFO_LEVEL_1結構。 FSRTL_MUP_PROVIDER_INFO_LEVEL_1 結構的定義如下:

typedef struct _FSRTL_MUP_PROVIDER_INFO_LEVEL_1 {
  ULONG32  ProviderId;
} FSRTL_MUP_PROVIDER_INFO_LEVEL_1, *PFSRTL_MUP_PROVIDER_INFO_LEVEL_1;

如果 Level 參數設定為 2,FsRtlMupGetProviderInfoFromFileObject 例程會傳回 pBuffer 參數所指向之緩衝區中的FSRTL_MUP_PROVIDER_INFO_LEVEL_2結構。 FSRTL_MUP_PROVIDER_INFO_LEVEL_2 結構的定義如下:

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;

文件系統篩選驅動程式可以快速地比較提供者標識符的值與其他提供者標識碼的值,而不需要進行字串比較。

如果從系統卸除網路重新導向器,然後重載回系統,則特定網路重新導向器之 UNC 提供者識別碼的值會維持不變。

若要從網路重新導向器的裝置名稱取得網路重新導向器的 UNC 提供者識別碼,文件系統篩選驅動程式可以呼叫 FsRtlMupGetProviderIdFromName 例程。

規格需求

需求
最低支援的用戶端 FsRtlMupGetProviderInfoFromFileObject 函式為 Windows Vista
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

FsRtlMupGetProviderIdFromName