Функция WNetGetResourceInformationA (winnetwk.h)
При предоставлении удаленного пути к сетевому ресурсу функция WNetGetResourceInformation определяет сетевой поставщик, принадлежащий ресурсу, и получает сведения о типе ресурса. Функция обычно используется в сочетании с функцией WNetGetResourceParent для синтаксического анализа и интерпретации сетевого пути, введенного пользователем.
Синтаксис
DWORD WNetGetResourceInformationA(
[in] LPNETRESOURCEA lpNetResource,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpcbBuffer,
[out] LPSTR *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и dwUsage члены NETRESOURCE возвращаются со всеми остальными элементами, равными 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 dwType не соответствует типу ресурса, заданному элементом lpRemoteName. |
|
Произошла ошибка, зависявшая от сети. Вызовите WNetGetLastError, чтобы получить описание ошибки. |
|
Буфер, на который указывает параметр lpBuffer, слишком мал. |
|
Сеть недоступна. |
Замечания
Заметка
Заголовок winnetwk.h определяет WNetGetResourceInformation как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winnetwk.h |
библиотеки |
Mpr.lib |
DLL | Mpr.dll |
См. также
Обзор сети Windows (WNet)