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


Функция WNetEnumResourceA (winnetwk.h)

Функция WNetEnumResource продолжает перечисление сетевых ресурсов, запущенных вызовом функции WNetOpenEnum.

Синтаксис

DWORD WNetEnumResourceA(
  [in]      HANDLE  hEnum,
  [in, out] LPDWORD lpcCount,
  [out]     LPVOID  lpBuffer,
  [in, out] LPDWORD lpBufferSize
);

Параметры

[in] hEnum

Дескриптор, определяющий экземпляр перечисления. Этот дескриптор должен возвращаться функцией WNetOpenEnum.

[in, out] lpcCount

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

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

[out] lpBuffer

Указатель на буфер, получающий результаты перечисления. Результаты возвращаются в виде массива структур NETRESOURCE. Обратите внимание, что выделенный буфер должен быть достаточно большим для хранения структур, а также строк, к которым указывают их члены. Дополнительные сведения см. в следующем разделе "Примечания".

Буфер действителен до следующего вызова с помощью дескриптора, указанного параметром hEnum. Порядок структур NETRESOURCE в массиве не предсказуем.

[in, out] lpBufferSize

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

Возвращаемое значение

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

Возвращаемый код Описание
NO_ERROR
Перечисление выполнено успешно, а буфер содержит запрошенные данные. Вызывающее приложение может продолжать вызывать WNetEnumResource для завершения перечисления.
ERROR_NO_MORE_ITEMS
Больше записей нет. Содержимое буфера не определено.
 

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

Возвращаемый код Описание
ERROR_MORE_DATA
Дополнительные записи доступны при последующих вызовах. Дополнительные сведения см. в следующем разделе "Примечания".
ERROR_INVALID_HANDLE
Недопустимый дескриптор, указанный параметром hEnum .
ERROR_NO_NETWORK
Сеть недоступна. (Это условие проверяется до того, как hEnum проверяется на допустимость.)
ERROR_EXTENDED_ERROR
Произошла ошибка, зависявшая от сети. Чтобы получить описание ошибки, вызовите функцию WNetGetLastError.

Замечания

Функция WNetEnumResource не перечисляет пользователей, подключенных к общей папке; Для выполнения этой задачи можно вызвать функцию NetConnectionEnum. Чтобы перечислить скрытые общие папки, вызовите функцию NetShareEnum.

Приложение не может задать параметр lpBuffer значение NULL и получить требуемый размер буфера из параметра lpBufferSize. Вместо этого приложение должно выделить буфер разумного размера (16 килобайтов) и использовать значение lpBufferSize для обнаружения ошибок.

Примеры

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

Заметка

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

Требования

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

См. также

NETRESOURCE

WNetCloseEnum

WNetOpenEnum

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

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