Функция 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 в байтах. Если буфер слишком мал, чтобы получить даже одну запись, этот параметр получает требуемый размер буфера.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение является одним из следующих значений.
Возвращаемый код | Описание |
---|---|
|
Перечисление выполнено успешно, а буфер содержит запрошенные данные. Вызывающее приложение может продолжать вызывать WNetEnumResource для завершения перечисления. |
|
Больше записей нет. Содержимое буфера не определено. |
Если функция завершается ошибкой, возвращаемое значение является системным кодом ошибки, например одно из следующих значений.
Возвращаемый код | Описание |
---|---|
|
Дополнительные записи доступны при последующих вызовах. Дополнительные сведения см. в следующем разделе "Примечания". |
|
Недопустимый дескриптор, указанный параметром hEnum |
|
Сеть недоступна. (Это условие проверяется до того, как hEnum проверяется на допустимость.) |
|
Произошла ошибка, зависявшая от сети. Чтобы получить описание ошибки, вызовите функцию 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 |
См. также
Обзор сети Windows (WNet)