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 值之一。
返回代码 | 说明 |
---|---|
|
有关网络重定向程序的信息已成功在 pBuffer 参数指向的缓冲区中返回。 |
|
其中一个参数为 NULL 或包含无效值。 |
|
pFileObject 参数指向的文件对象不对应于完全打开的远程文件系统文件对象。 |
|
pBuffer 参数指向的缓冲区大小太小,无法返回任何数据。 在这种情况下, pBufferSize 参数指向的变量接收缓冲区的所需大小(以字节为单位)。 |
|
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 |
目标平台 | 通用 |
标头 | ntifs.h (包括 Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |