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


Функция 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winnetwk.h
Библиотека Mpr.lib
DLL Mpr.dll

См. также раздел

NETRESOURCE

WNetCloseEnum

WNetOpenum

Общие сведения о сети Windows (WNet)

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