Функция 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 или содержит недопустимое значение. |
|
Объект file, на который указывает параметр pFileObject , не соответствует полностью открытому объекту файловой системы удаленной файловой системы. |
|
Размер буфера, на который указывает параметр pBuffer , слишком мал для возврата каких-либо данных. В этом случае переменная, на которую указывает параметр pBufferSize , получает требуемый размер буфера в байтах. |
|
Размер буфера, на который указывает параметр pBuffer , слишком мал для возврата всех данных. Были возвращены только те данные, которые помещаются в буфер. В этом случае переменная, на которую указывает параметр pBufferSize , получает требуемый размер буфера в байтах. |
Комментарии
Драйвер фильтра файловой системы может вызвать подпрограмму FsRtlMupGetProviderInfoFromFileObject , чтобы получить сведения о перенаправителе сети из объекта файла для файла, расположенного в удаленной файловой системе. Объем сведений, возвращаемых подпрограммой FsRtlMupGetProviderInfoFromFileObject , зависит от значения параметра Level . Если для параметра Level задано значение 1, подпрограмма FsRtlMupGetProviderInfoFromFileObject возвращает FSRTL_MUP_PROVIDER_INFO_LEVEL_1 структуру в буфере, на которую указывает параметр pBuffer . Структура 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 возвращает FSRTL_MUP_PROVIDER_INFO_LEVEL_2 структуру в буфере, на которую указывает параметр pBuffer . Структура 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) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по