Функция NetUseEnum (lmuse.h)
Функция NetUseEnum перечисляет все текущие подключения между локальным компьютером и ресурсами на удаленных серверах.
Вы также можете использовать функции WNetOpenEnum и WNetEnumResource для перечисления сетевых ресурсов или подключений.
Синтаксис
NET_API_STATUS NET_API_FUNCTION NetUseEnum(
[in] LMSTR UncServerName,
[in] DWORD LevelFlags,
[out] LPBYTE *BufPtr,
[in] DWORD PreferedMaximumSize,
[out] LPDWORD EntriesRead,
[out] LPDWORD TotalEntries,
[in, out] LPDWORD ResumeHandle
);
Параметры
[in] UncServerName
UNC-имя компьютера, на котором выполняется эта функция. Если этот параметр имеет значение NULL, то используется локальный компьютер. Если указанный параметр UncServerName является удаленным компьютером, удаленный компьютер должен поддерживать удаленные вызовы RPC с использованием устаревшего механизма протокола удаленного доступа.
Если определены _WIN32_WINNT или FORCE_UNICODE , это строка Юникода.
[in] LevelFlags
Уровень сведений о запрашиваемых данных. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
Указывает имя локального устройства и имя общей папки удаленного ресурса. Параметр BufPtr указывает на массив USE_INFO_0 структур. |
|
Указывает сведения о подключении между локальным устройством и общим ресурсом, включая состояние и тип подключения. Параметр BufPtr указывает на массив USE_INFO_1 структур. |
|
Указывает сведения о подключении между локальным устройством и общим ресурсом. Сведения включают состояние подключения, тип подключения, имя пользователя и доменное имя. Параметр BufPtr указывает на массив USE_INFO_2 структур. |
[out] BufPtr
Указатель на буфер, который получает информационные структуры. Формат этих данных зависит от значения параметра Level . Этот буфер выделяется системой и должен быть освобожден с помощью функции NetApiBufferFree , если информация больше не нужна. Обратите внимание, что буфер необходимо освободить, даже если функция завершается сбоем с ERROR_MORE_DATA.
[in] PreferedMaximumSize
Предпочтительная максимальная длина возвращаемых данных (в байтах). Если указано MAX_PREFERRED_LENGTH , функция выделяет объем памяти, необходимый для данных. Если в этом параметре указано другое значение, оно может ограничить количество байтов, возвращаемых функцией. Если размер буфера недостаточен для хранения всех записей, функция возвращает ERROR_MORE_DATA. Дополнительные сведения см. в разделах Буферы функций управления сетью и Длина буфера функции управления сетью.
[out] EntriesRead
Указатель на значение, которое получает количество фактически перечисляемых элементов.
[out] TotalEntries
Указатель на значение, которое получает общее количество записей, которые можно было бы перечислить из текущей позиции резюме. Обратите внимание, что приложения должны рассматривать это значение только как подсказку.
[in, out] ResumeHandle
Указатель на значение, содержащее дескриптор возобновления, используемый для продолжения поиска. Дескриптор должен быть равен нулю при первом вызове и оставить без изменений для последующих вызовов. Если resumeHandle имеет значение NULL, дескриптор возобновления не сохраняется.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NERR_Success.
Если функция завершается сбоем, возвращаемое значение представляет собой системный код ошибки. Список кодов ошибок см. в разделе Системные коды ошибок.
Код возврата | Описание |
---|---|
|
В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметрах BufPtr или entriesread передается указатель NULL. |
|
Необходимо вернуть дополнительные данные. Эта ошибка возвращается, если размер буфера недостаточен для хранения всех записей. |
|
Запрос не поддерживается. Эта ошибка возвращается, если параметр UncServerName не имеет значения NULL и удаленный сервер не поддерживает удаленные вызовы RPC с использованием устаревшего механизма протокола удаленного доступа. |
|
Используйте FormatMessage , чтобы получить строку сообщения для возвращенной ошибки. |
Комментарии
Для вызова функции NetUseEnum не требуется специальное членство в группах. Эта функция не может быть выполнена на удаленном сервере, за исключением случаев совместимости нижнего уровня с использованием устаревшего протокола удаленного доступа.
Чтобы получить сведения об одном сетевом подключении, можно вызвать функцию NetUseGetInfo .
Эта функция применяется только к клиенту server Message Block (LAN Manager Workstation). Функция NetUseEnum не поддерживает общие папки распределенной файловой системы (DFS). Для перечисления общих папок с помощью другого поставщика сети (например, WebDAV или общей папки DFS) используйте функции WNetOpenEnum, WNetEnumResource и WNetCloseEnum .
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | lmuse.h (включая Lm.h, Lmcons.h) |
Библиотека | Netapi32.lib |
DLL | Netapi32.dll |