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


Функция 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 (TFO) Да
SMB 3.0 с масштабируемыми общими папками (SO) Да
Файловая система общего тома кластера (CSVFS) Да
Отказоустойчивая файловая система (ReFS) Да
 

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

операции с транзакцией

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2003 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка fileapi.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

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

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

GetFileAttributes

GetFileAttributesTransacted

SetFileAttributes

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