Функция NetFileEnum (lmshare.h)

Возвращает сведения о некоторых или всех открытых файлах на сервере в зависимости от указанных параметров.

Синтаксис

NET_API_STATUS NET_API_FUNCTION NetFileEnum(
  [in]      LMSTR      servername,
  [in]      LMSTR      basepath,
  [in]      LMSTR      username,
  [in]      DWORD      level,
  [out]     LPBYTE     *bufptr,
  [in]      DWORD      prefmaxlen,
  [out]     LPDWORD    entriesread,
  [out]     LPDWORD    totalentries,
  [in, out] PDWORD_PTR resume_handle
);

Параметры

[in] servername

Указатель на строку, указывающую DNS или NetBIOS-имя удаленного сервера, на котором выполняется функция. Если этот параметр имеет значение NULL, используется локальный компьютер.

Эта строка является Юникодом, если определен _WIN32_WINNT или FORCE_UNICODE .

[in] basepath

Указатель на строку, указывающую квалификатор для возвращаемых сведений. Если этот параметр имеет значение NULL, перечисляются все открытые ресурсы. Если этот параметр не равен NULL, функция перечисляет только ресурсы, имеющие значение параметра basepath в виде префикса. (Префикс — это часть пути, который поступает перед обратной косой чертой.)

Эта строка является Юникодом, если определен _WIN32_WINNT или FORCE_UNICODE .

[in] username

Указатель на строку, указывающую имя пользователя или имя соединения. Если строка начинается с двух обратных косых черт ("\"), то она указывает имя подключения, например "\127.0.0.1" или "\ClientName". Часть имени подключения после обратной косой строки совпадает с именем клиента в структуре сведений о сеансе, возвращаемой функцией NetSessionEnum . Если строка не начинается с двух обратных косых черт, она указывает имя пользователя. Если этот параметр не равен NULL, его значение служит квалификатором для перечисления. Возвращенные файлы ограничены именами пользователей или именами подключений, которые соответствуют квалификатору. Если этот параметр имеет значение NULL, квалификатор имени пользователя не используется.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот параметр является указателем на строку, указывающую имя пользователя. Если этот параметр не равен NULL, его значение служит квалификатором для перечисления. Возвращенные файлы ограничены именами пользователей, соответствующими квалификатору. Если этот параметр имеет значение NULL, квалификатор имени пользователя не используется.

Эта строка является Юникодом, если определен _WIN32_WINNT или FORCE_UNICODE .

[in] level

Указывает уровень информации данных. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
2
Возвращает идентификационный номер файла. Параметр bufptr указывает на массив FILE_INFO_2 структур.
3
Возвращает сведения о файле. Параметр bufptr указывает на массив FILE_INFO_3 структур.

[out] bufptr

Указатель на адрес буфера, который получает сведения. Формат этих данных зависит от значения параметра уровня .

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

[in] prefmaxlen

Задает предпочтительную максимальную длину возвращаемых данных в байтах. Если указать MAX_PREFERRED_LENGTH, функция выделяет объем памяти, необходимый для данных. Если в этом параметре указано другое значение, оно может ограничить количество байтов, возвращаемых функцией. Если размер буфера недостаточно для хранения всех записей, функция возвращает ERROR_MORE_DATA. Дополнительные сведения см. в разделе "Буферы функций управления сетью " и "Длина буфера функции управления сетью".

[out] entriesread

Указатель на значение, которое получает количество фактически перечисленных элементов.

[out] totalentries

Указатель на значение, которое получает общее количество записей, которые могли быть перечислены из текущей позиции возобновления. Обратите внимание, что приложения должны рассматривать это значение только как указание.

[in, out] resume_handle

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

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

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

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

Код возврата Описание
ERROR_ACCESS_DENIED
У пользователя нет доступа к запрошенным сведениям.
ERROR_INVALID_LEVEL
Недопустимое значение, указанное для параметра уровня .
ERROR_MORE_DATA
Доступны дополнительные записи. Укажите достаточно большой буфер для получения всех записей.
ERROR_NOT_ENOUGH_MEMORY
Недостаточно памяти.
NERR_BufTooSmall
Предоставленный буфер слишком мал.

Комментарии

Только члены локальной группы "Администраторы" или "Операторы сервера" могут успешно выполнять функцию NetFileEnum .

Вы можете вызвать функцию NetFileGetInfo , чтобы получить сведения о конкретном открытии ресурса сервера.

Если вы программируете для Active Directory, вы можете вызвать определенные методы интерфейса службы Active Directory (ADSI) для достижения той же функциональности, которую можно достичь, вызвав NetFileEnum. Дополнительные сведения см. в разделе IADsResource и IADsFileServiceOperations.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header lmshare.h (include Lm.h)
Библиотека Netapi32.lib
DLL Netapi32.dll

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

FILE_INFO_2

FILE_INFO_3

Функции NetFile

NetFileGetInfo

Функции управления сетями

Общие сведения об управлении сетями