Функция GetVolumeInformationByHandleW (fileapi.h)
Извлекает сведения о файловой системе и томе, связанном с указанным файлом.
Чтобы получить текущее состояние сжатия файла или каталога, используйте FSCTL_GET_COMPRESSION.
Синтаксис
BOOL GetVolumeInformationByHandleW(
[in] HANDLE hFile,
[out, optional] LPWSTR lpVolumeNameBuffer,
[in] DWORD nVolumeNameSize,
[out, optional] LPDWORD lpVolumeSerialNumber,
[out, optional] LPDWORD lpMaximumComponentLength,
[out, optional] LPDWORD lpFileSystemFlags,
[out, optional] LPWSTR lpFileSystemNameBuffer,
[in] DWORD nFileSystemNameSize
);
Параметры
[in] hFile
Дескриптор файла.
[out, optional] lpVolumeNameBuffer
Указатель на буфер, получающий имя указанного тома. Максимальный размер буфера — MAX_PATH+1
.
[in] nVolumeNameSize
Длина буфера имени тома в WCHAR. Максимальный размер буфера — MAX_PATH+1
.
Этот параметр игнорируется, если буфер имени тома не указан.
[out, optional] lpVolumeSerialNumber
Указатель на переменную, которая получает серийный номер тома.
Этот параметр может иметь значение NULL , если серийный номер не требуется.
Эта функция возвращает серийный номер тома, который назначается операционной системой при форматировании жесткого диска. Чтобы программно получить серийный номер жесткого диска, назначенный производителем, используйте инструментарий управления Windows (WMI) Win32_PhysicalMedia свойство SerialNumber.
[out, optional] lpMaximumComponentLength
Указатель на переменную, которая получает максимальную длину компонента имени файла в WCHAR, который поддерживает указанная файловая система.
Компонент имени файла — это часть имени файла между обратными косыми чертами.
Значение, хранящееся в переменной , на которую указывает *lpMaximumComponentLength , используется для указания того, что указанная файловая система поддерживает длинные имена. Например, для файловой системы FAT, поддерживающей длинные имена, функция сохраняет значение 255, а не предыдущий индикатор 8.3. Длинные имена также поддерживаются в системах, использующих файловую систему NTFS.
[out, optional] lpFileSystemFlags
Указатель на переменную, получающую флаги, связанные с указанной файловой системой.
Этот параметр может быть одним или несколькими из следующих флагов. Однако FILE_FILE_COMPRESSION и FILE_VOL_IS_COMPRESSED являются взаимоисключающими.
Значение | Значение |
---|---|
|
Указанный том поддерживает имена файлов с учетом регистра. |
|
Указанный том поддерживает сохраненный регистр имен файлов, когда он помещает имя на диск. |
|
Указанный том поддерживает Юникод в именах файлов, как они отображаются на диске. |
|
Указанный том сохраняет и применяет списки управления доступом (ACL). Например, файловая система NTFS сохраняет и применяет списки управления доступом, а файловая система FAT — нет. |
|
Указанный том поддерживает сжатие на основе файлов. |
|
Указанный том поддерживает квоты дисков. |
|
Указанный том поддерживает разреженные файлы. |
|
Указанный том поддерживает точки повторного анализа. |
|
Указанный том является сжатым томом, например томом DoubleSpace. |
|
Указанный том поддерживает идентификаторы объектов. |
|
Указанный том поддерживает зашифрованную файловую систему (EFS). Дополнительные сведения см. в разделе Шифрование файлов. |
|
Указанный том поддерживает именованные потоки. |
|
Указанный том доступен только для чтения. |
|
Указанный том поддерживает одну последовательную запись. |
|
Указанный том поддерживает транзакции. Дополнительные сведения см. в разделе Сведения о KTM. |
|
Указанный том поддерживает жесткие связи. Дополнительные сведения см. в разделе Жесткие ссылки и соединения.
Windows Vista и Windows Server 2008: Это значение не поддерживается. |
|
Указанный том поддерживает расширенные атрибуты. Расширенный атрибут — это часть метаданных конкретного приложения, которые приложение может связать с файлом и не является частью данных файла.
Windows Vista и Windows Server 2008: Это значение не поддерживается. |
|
Файловая система поддерживает открытие по FileID. Дополнительные сведения см. в разделе FILE_ID_BOTH_DIR_INFO.
Windows Vista и Windows Server 2008: Это значение не поддерживается. |
|
Указанный том поддерживает журналы последовательности обновления (USN). Дополнительные сведения см. в разделе Изменение записей журнала.
Windows Vista и Windows Server 2008: Это значение не поддерживается. |
|
Указанный том поддерживает совместное использование логических кластеров между файлами на одном томе. Файловая система перераспределяет операции записи в общие кластеры. Указывает, что FSCTL_DUPLICATE_EXTENTS_TO_FILE является поддерживаемой операцией. |
[out, optional] lpFileSystemNameBuffer
Указатель на буфер, который получает имя файловой системы, например файловую систему FAT или файловую систему NTFS. Размер буфера определяется параметром nFileSystemNameSize .
[in] nFileSystemNameSize
Длина буфера имен файловой системы в WCHAR. Максимальный размер буфера — MAX_PATH+1
.
Этот параметр игнорируется, если буфер имен файловой системы не указан.
Возвращаемое значение
Если извлекаются все запрошенные сведения, возвращаемое значение не равно нулю.
Если не все запрошенные сведения извлекаются, возвращаемое значение равно нулю. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Нет |
SMB 3.0 Transparent Failover (TFO) | Нет |
SMB 3.0 с масштабируемыми общими папками (SO) | Нет |
Файловая система общего тома кластера (CSVFS) | Да |
Восстанавливаемая файловая система (ReFS) | Да |
SMB не поддерживает функции управления томами.
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | fileapi.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |