Функция WNetOpenEnumA (winnetwk.h)
Функция WNetOpenEnum запускает перечисление сетевых ресурсов или существующих подключений. Можно продолжить перечисление, вызвав функцию WNetEnumResource.
Синтаксис
DWORD WNetOpenEnumA(
[in] DWORD dwScope,
[in] DWORD dwType,
[in] DWORD dwUsage,
[in] LPNETRESOURCEA lpNetResource,
[out] LPHANDLE lphEnum
);
Параметры
[in] dwScope
Область перечисления. Этот параметр может быть одним из следующих значений.
[in] dwType
Типы ресурсов для перечисления. Этот параметр может быть сочетанием следующих значений.
Ценность | Значение |
---|---|
|
Все ресурсы. Это значение нельзя объединить с RESOURCETYPE_DISK или RESOURCETYPE_PRINT. |
|
Все ресурсы диска. |
|
Все ресурсы печати. |
Если сетевой поставщик не может различать ресурсы печати и диска, он может перечислить все ресурсы.
[in] dwUsage
Тип использования ресурсов для перечисления. Этот параметр может быть сочетанием следующих значений.
Этот параметр игнорируется, если параметр dwScope не равен RESOURCE_GLOBALNET. Дополнительные сведения см. в следующем разделе "Примечания".
[in] lpNetResource
Указатель на структуру NETRESOURCE
Если этот параметр null, предполагается корневой каталог сети. (Система упорядочивает сеть в виде иерархии; корневой каталог является самым верхним контейнером в сети.)
Если этот параметр не NULL, он должен указывать на структуру NETRESOURCE. Эта структура может быть заполнена приложением или она может быть возвращена вызовом функции WNetEnumResource. Структура
Чтобы перечислить все сетевые ресурсы, приложение может начать перечисление, вызвав WNetOpenEnum с параметром lpNetResource значение NULL, а затем используйте возвращенный дескриптор для вызова WNetEnumResource для перечисления ресурсов. Если один из ресурсов в массив е NETRESOURCE, возвраща емого функцией WNetEnumResource, является ресурсом контейнера, можно вызвать WNetOpenEnum, чтобы открыть ресурс для дальнейшего перечисления.
[out] lphEnum
Указатель на дескриптор перечисления, который можно использовать в последующем вызове WNetEnumResource.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение NO_ERROR.
Если функция завершается ошибкой, возвращаемое значение является системным кодом ошибки, например одно из следующих значений.
Возвращаемый код | Описание |
---|---|
|
Параметр lpNetResource не указывает на контейнер. |
|
Недопустимый параметр dwScope или параметр dwType или недопустимое сочетание параметров. |
|
Сеть недоступна. |
|
Произошла ошибка, зависявшая от сети. Чтобы получить описание ошибки, вызовите функцию WNetGetLastError. |
|
Имя удаленного сетевого ресурса, указанное в структуре NETRESOURCE, разрешенной в недопустимый сетевой адрес. |
Замечания
Если параметр dwScope равен RESOURCE_CONNECTED, сетевое подключение, созданное с помощью сети Microsoft LAN Manager, опущено из перечисления, если подключение было сделано приложением в другом сеансе входа, чем приложение, вызывающее функцию WNetOpenEnum. Это связано с тем, что подключения, сделанные с помощью Microsoft LAN Manager, видны только приложениям, работающим в том же сеансе входа, что и приложение, которое сделало подключение. (Чтобы включить подключение в перечисление, недостаточно для запуска приложения в учетной записи пользователя, создающей подключение.)
Точное толкование RESOURCE_CONTEXT в параметре dwScope dwScope зависит от сетей, установленных на компьютере.
Функция WNetOpenEnum используется для начала перечисления ресурсов в одном контейнере. В следующих примерах показана иерархическая структура сети Microsoft LAN Manager и сети Novell NetWare и идентификация контейнеров.
LanMan (container, in this case the provider)
ACCOUNTING (container, in this case the domain)
\\ACCTSPAY (container, in this case the server)
PAYFILES (disk)
LASERJET (print)
NetWare (container, in this case the provider)
MARKETING (container, in this case the server)
SYS (disk, first one on any NetWare server)
ANOTHERVOLUME (disk)
LASERJET (print)
Примеры
Пример кода, демонстрирующий определяемую приложением функцию, которая перечисляет все ресурсы в сети, см. в разделе Перечисление сетевых ресурсов.
Заметка
Заголовок winnetwk.h определяет WNetOpenEnum как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winnetwk.h |
библиотеки |
Mpr.lib |
DLL | Mpr.dll |
См. также
Обзор сети Windows (WNet)