Поделиться через


Функция 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.

Если функция завершается ошибкой, возвращаемое значение является системным кодом ошибки, например одно из следующих значений.

Возвращаемый код Описание
ERROR_BAD_NET_NAME
Входной lpRemoteName член не является существующим сетевым ресурсом для любой сети.
ERROR_BAD_DEV_TYPE
Входной элемент dwType dwType не соответствует типу ресурса, заданному элементом lpRemoteName.
ERROR_EXTENDED_ERROR
Произошла ошибка, зависявшая от сети. Вызовите WNetGetLastError, чтобы получить описание ошибки.
ERROR_MORE_DATA
Буфер, на который указывает параметр lpBuffer, слишком мал.
ERROR_NO_NETWORK
Сеть недоступна.

Замечания

Заметка

Заголовок winnetwk.h определяет WNetGetResourceInformation как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winnetwk.h
библиотеки Mpr.lib
DLL Mpr.dll

См. также

WNetGetNetworkInformation

WNetGetProviderName

WNetGetResourceParent

WNetGetUniversalName

Обзор сети Windows (WNet)

Сетевые функции Windows