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