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


Функция GetFileAttributesExA (fileapi.h)

Извлекает атрибуты для указанного файла или каталога.

Чтобы выполнить эту операцию как транзакцию, используйте функцию GetFileAttributesTransacted .

Синтаксис

BOOL GetFileAttributesExA(
  [in]  LPCSTR                 lpFileName,
  [in]  GET_FILEEX_INFO_LEVELS fInfoLevelId,
  [out] LPVOID                 lpFileInformation
);

Параметры

[in] lpFileName

Имя файла или каталога.

По умолчанию имя ограничено MAX_PATH символами. Чтобы расширить это ограничение до 32 767 символов в ширину, добавьте к пути "\\?\". Дополнительные сведения см. в статье Именование файлов, путей и пространств имен.

Совет

Начиная с Windows 10 версии 1607, вы можете согласиться на удаление ограничения MAX_PATH без добавления в начало "\\?\". Дополнительные сведения см. в разделе "Ограничение максимальной длины пути" статьи Именование файлов, путей и пространств имен .

[in] fInfoLevelId

Класс извлекаемых сведений об атрибутах.

Этот параметр может иметь следующее значение из перечисления GET_FILEEX_INFO_LEVELS .

Значение Значение
GetFileExInfoStandard
Параметр lpFileInformation является WIN32_FILE_ATTRIBUTE_DATA структурой.

[out] lpFileInformation

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

Тип сведений об атрибутах, хранящихся в этом буфере, определяется значением fInfoLevelId.

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

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

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

Комментарии

Функция GetFileAttributes извлекает сведения об атрибутах файловой системы. GetFileAttributesEx может получать другие наборы сведений об атрибутах файла или каталога. В настоящее время GetFileAttributesEx извлекает набор стандартных атрибутов, которые являются надмножеством сведений об атрибутах файловой системы.

При вызове функции GetFileAttributesEx в каталоге, который является подключенной папкой, она возвращает атрибуты каталога, а не корневого каталога в томе, который подключенная папка связывает с каталогом. Чтобы получить атрибуты связанного тома, вызовите Метод GetVolumeNameForVolumeMountPoint , чтобы получить имя связанного тома. Затем используйте полученное имя в вызове Метода GetFileAttributesEx. Результаты представляют собой атрибуты корневого каталога в связанном томе.

В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.

Технология Поддерживается
Протокол SMB 3.0 Да
SMB 3.0 Transparent Failover (TFO) Да
SMB 3.0 с масштабируемыми общими папками (SO) Да
Файловая система общего тома кластера (CSVFS) Да
Восстанавливаемая файловая система (ReFS) Да
 

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

Транзакция операций

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

Примечание

Заголовок fileapi.h определяет GetFileAttributesEx в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header fileapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Константы атрибутов файлов

Функции управления файлами

GetFileAttributes

GetFileAttributesTransacted

SetFileAttributes

Символьные ссылки