Функция 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winnetwk.h |
Библиотека | Mpr.lib |
DLL | Mpr.dll |