Функция WNetGetResourceInformationW (winnetwk.h)
При предоставлении удаленного пути к сетевому ресурсу функция WNetGetResourceInformation определяет поставщика сети, которому принадлежит ресурс, и получает сведения о типе ресурса. Функция обычно используется в сочетании с функцией WNetGetResourceParent для анализа и интерпретации сетевого пути, введенного пользователем.
Синтаксис
DWORD WNetGetResourceInformationW(
[in] LPNETRESOURCEW lpNetResource,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpcbBuffer,
[out] LPWSTR *lplpSystem
);
Параметры
[in] lpNetResource
Указатель на структуру NETRESOURCE , которая указывает сетевой ресурс, для которого требуются сведения.
Элемент lpRemoteName структуры должен указывать имя удаленного пути к ресурсу, обычно введенное пользователем. Члены lpProvider и dwType также должны быть заполнены, если они известны, так как эта операция может занимать много памяти, особенно если не указан элемент dwType . Если значения для этих элементов не известны, следует задать для них значение NULL. Все остальные элементы структуры NETRESOURCE игнорируются.
[out] lpBuffer
Указатель на буфер для получения результата. При успешном возвращении первая часть буфера представляет собой структуру NETRESOURCE , представляющую ту часть пути входного ресурса, доступ к которому осуществляется через функции WNet, а не через системные функции, относящиеся к типу входного ресурса. (Оставшаяся часть буфера содержит строки переменной длины, на которые указывают члены структуры NETRESOURCE .)
Например, если входной путь к удаленному ресурсу — \server\share\dir1\dir2, то выходная структура NETRESOURCE содержит сведения о ресурсе \server\share. Доступ к части пути \dir1\dir2 осуществляется через функции управления файлами. Возвращаются элементы lpRemoteName, lpProvider, dwType, dwDisplayType и dwUsagenetRESOURCE , а для всех остальных элементов задано значение NULL.
Элемент lpRemoteName возвращается в том же синтаксисе, что и элемент, возвращаемый из перечисления функцией WNetEnumResource . Это позволяет вызывающей объекту выполнить сравнение строк, чтобы определить, совпадает ли ресурс, передаваемый в WNetGetResourceInformation , с ресурсом, возвращенным при отдельном вызове WNetEnumResource.
[in, out] lpcbBuffer
Указатель на расположение, которое при входе указывает размер буфера lpBuffer в байтах. Выделенный буфер должен быть достаточно большим, чтобы вместить структуру NETRESOURCE , а также строки, на которые указывают его члены. Если буфер слишком мал для результата, это расположение получает требуемый размер буфера, а функция возвращает ERROR_MORE_DATA.
[out] lplpSystem
Если функция возвращает успешно, этот параметр указывает на строку в выходном буфере, которая указывает часть ресурса, доступ к которому осуществляется через системные функции. (Это относится только к функциям, характерным для типа ресурса, а не к функциям WNet.)
Например, если входное имя удаленного ресурса — \server\share\dir1\dir2, элемент lpRemoteName выходной структуры NETRESOURCE указывает на \server\share. Кроме того, параметр lplpSystem указывает на \dir1\dir2. Обе строки хранятся в буфере, на который указывает параметр lpBuffer .
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, возвращаемое значение представляет собой системный код ошибки, например одно из следующих значений.
Код возврата | Описание |
---|---|
|
Входной элемент lpRemoteName не является существующим сетевым ресурсом для какой-либо сети. |
|
Входной элемент dwType не соответствует типу ресурса, заданному элементом lpRemoteName . |
|
Произошла ошибка, относявшаяся к сети. Вызовите WNetGetLastError , чтобы получить описание ошибки. |
|
Буфер, на который указывает параметр lpBuffer , слишком мал. |
|
Сеть недоступна. |
Комментарии
Примечание
Заголовок winnetwk.h определяет WNetGetResourceInformation в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winnetwk.h |
Библиотека | Mpr.lib |
DLL | Mpr.dll |