|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
GetVolumeInformation
The GetVolumeInformation function returns information about a file system and volume whose root directory is specified.
BOOL GetVolumeInformation(
LPCTSTR lpRootPathName, // address of root directory of the file system LPTSTR lpVolumeNameBuffer, // address of name of the volume DWORD nVolumeNameSize, // length of lpVolumeNameBuffer LPDWORD lpVolumeSerialNumber, // address of volume serial number LPDWORD lpMaximumComponentLength, // address of system's maximum filename length LPDWORD lpFileSystemFlags, // address of file system flags LPTSTR lpFileSystemNameBuffer, // address of name of file system DWORD nFileSystemNameSize // length of lpFileSystemNameBuffer );
Parameters
lpRootPathName
Points to a string that contains the root directory of the volume to be described. If this parameter is NULL, the root of the current directory is used. If this parameter is a UNC name, you must follow it with an additional backslash. For example, you would specify \\MyServer\MyShare as \\MyServer\MyShare\.
lpVolumeNameBuffer
Points to a buffer that receives the name of the specified volume.
nVolumeNameSize
Specifies the length, in characters, of the volume name buffer. This parameter is ignored if the volume name buffer is not supplied.
lpVolumeSerialNumber
Points to a variable that receives the volume serial number. This parameter can be NULL if the serial number is not required.
lpMaximumComponentLength
Points to a doubleword value that receives the maximum length, in characters, of a filename component supported by the specified file system. A filename component is that portion of a filename between backslashes. The value stored in variable pointed to by *lpMaximumComponentLength is used to indicate that long names are supported by the specified file system. For example, for a FAT file system supporting long names, the function stores the value 255, rather than the previous 8.3 indicator. Long names can also be supported on systems that use the New Technology file system.
lpFileSystemFlags
Points to a doubleword that receives flags associated with the specified file system. This parameter can be any combination of the following flags, with one exception: FS_FILE_COMPRESSION and FS_VOL_IS_COMPRESSED are mutually exclusive.
Value Meaning FS_CASE_IS_PRESERVED If this flag is set, the file system preserves the case of filenames when it places a name on disk. FS_CASE_SENSITIVE If this flag is set, the file system supports case-sensitive filenames. FS_UNICODE_STORED_ON_DISK If this flag is set, the file system supports Unicode in filenames as they appear on disk. FS_PERSISTENT_ACLS If this flag is set, the file system preserves and enforces ACLs. For example, NTFS preserves and enforces ACLs, and FAT does not. FS_FILE_COMPRESSION The file system supports file-based compression. FS_VOL_IS_COMPRESSED The specified volume is a compressed volume; for example, a DoubleSpace volume.
lpFileSystemNameBuffer
Points to a buffer that receives the name of the file system (such as FAT or NTFS).
nFileSystemNameSize
Specifies the length, in characters, of the file system name buffer. This parameter is ignored if the file system name buffer is not supplied.
Return Values
If all the requested information is retrieved, the return value is nonzero. If not all the requested information is retrieved, the return value is zero. To get extended error information, call GetLastError.
Remarks
If you are attempting to obtain information about a floppy drive that does not have a floppy disk or a CD-ROM drive that does not have a compact disc, the system displays a message box asking the user to insert a floppy disk or a compact disc, respectively. To prevent the system from displaying this message box, call the SetErrorMode function with SEM_FAILCRITICALERRORS. The FS_VOL_IS_COMPRESSED flag is the only indicator of volume-based compression. The file system name is not altered to indicate compression. This flag comes back set on a DoubleSpace volume, for example. With volume-based compression, an entire volume is either compressed or not compressed.
The FS_FILE_COMPRESSION flag indicates whether a file system supports file-based compression. With file-based compression, individual files can be compressed or not compressed. The FS_FILE_COMPRESSION and FS_VOL_IS_COMPRESSED flags are mutually exclusive; both bits cannot come back set. The maximum component length value, stored in the DWORD variable pointed to by lpMaximumComponentLength, is the only indicator that a volume supports longer-than-normal FAT (or other file system) file names. The file system name is not altered to indicate support for long file names.
The GetCompressedFileSize function obtains the compressed size of a file. The GetFileAttributes function can determine whether an individual file is compressed.
See Also
GetCompressedFileSize, GetFileAttributes, SetErrorMode, SetVolumeLabel
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
GetVolumeInformation
Функция GetVolumeInformation возвращает информации о файловой системе и объеме, чей корневой директорий определен.
BOOL GetVolumeInformation(
LPCTSTR lpRootPathName, // АДРЕС корневого директория файловой системы LPTSTR lpVolumeNameBuffer, // адрес имени объема DWORD nVolumeNameSize, // длина lpVolumeNameBuffer LPDWORD lpVolumeSerialNumber, // адрес серийного номера объема LPDWORD lpMaximumComponentLength, // адрес системной максимальной filename длины LPDWORD lpFileSystemFlags, // адрес файловой системы сигнализирует LPTSTR lpFileSystemNameBuffer, // адрес имени файловой длины системы DWORD nFileSystemNameSize // lpFileSystemNameBuffer );
Параметры
lpRootPathName
Точки на строку, которые содержат корневой директорий объема, который нужно описываться. Если этот параметр НЕДЕЙСТВИТЕЛЕН, корень текущего директория использован. Если этот параметр является именем UNC, Вы должны последовать за этим с дополнительной обратной косой чертой. Например, Вы должны определить \\MyServer\MyShare как \\MyServer\MyShare\.
lpVolumeNameBuffer
Точки на буфер, которые получают имя определенного объема.
nVolumeNameSize
Определяет длину, в символах, буфера имени объема. Этот параметр проигнорирован если буфер имени объема не поставлен.
lpVolumeSerialNumber
Точки на переменную, которые получают серийный номер объема. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН если серийный номер не потребовался.
lpMaximumComponentLength
Точки на величину двойного слова, что получает максимальную длину, в символах, компонента filename поддерживанного определенной файловой системой. Компонент filename - то, что часть filename между обратной косой чертой. Величина загружалась в переменную указанную, чтобы *lpMaximumComponentLength использован, чтобы указывать, что длинные имена поддерживаны определенной файловой системой. Например, для файловой системы ЖИРА, поддерживающей длинные имена, функция загружает величине 255, а не предшествующие 8.3 указателей. Длинные имена могут также поддерживаны в системах, которые используют файловую систему Новой Технологии.
lpFileSystemFlags
Точки на двойное слово, которые получают флаги связывался определенной файловой системой. Этот параметр может быть любой комбинацией следующего флагов, с одним исключением: FS_FILE_COMPRESSION и FS_VOL_IS_COMPRESSED взаимно исключительные.
Значение Величины FS_CASE_IS_PRESERVED Если этот флаг установлен, файловая система сохраняет случай filenames когда она устанавливает имя на диске. FS_CASE_SENSITIVE Если этот флаг установлен, файловая система поддерживает случай-чувствительные filenames. FS_UNICODE_STORED_ON_DISK Если этот флаг установлен, файловая система поддерживает Уникод в filenames как они появляются на диске. FS_PERSISTENT_ACLS Если этот флаг установлен, файловая система сохраняет и осуществляет ACLs. Например, NTFS сохраняет и осуществляет ACLs, и ЖИР нет. FS_FILE_COMPRESSION файловые системные опоры основывали файловое сжатие. FS_VOL_IS_COMPRESSED определенный объем является сжатым объемом; например, объем DoubleSpace.
lpFileSystemNameBuffer
Точки на буфер, которые получают имя файловой системы (как например, ЖИР или NTFS).
nFileSystemNameSize
Определяет длину, в символах, файлового системного буфера имени. Этот параметр проигнорирован если файловый системный буфер имени не поставлен.
Обратные Величины
Если вся запрошенная информация извлечена, обратная величина ненулевая. Если не вся запрошенная информация извлечена, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, назовите GetLastError.
Замечания
Если Вы пытаетесь получать информацию о флоппи дисководе, что нет имеет флоппи-диск или накопитель CD-ROM, что нет имеет компактный диск, система отображает блока сообщения, спрашивающего, чтобы пользователь включал флоппи-диск или компактный диск, соответственно. Для того, чтобы мешать систему чтобы отображать этого блока сообщения, вызовите функцию SetErrorMode с SEM_FAILCRITICALERRORS. Флаг FS_VOL_IS_COMPRESSED является единственным указателем базирующегося сжатия объема. Файловое системное имя не изменено, чтобы указывать сжатие. Этот флаг возвращается установленным в объеме DoubleSpace, например. С базирующимся сжатием объема, целый объем - или сжато или не был сжат.
Флаг FS_FILE_COMPRESSION указывает основывали файловые системные опоры файловое сжатие. С базирующимся файловым сжатием, индивидуальные файлы могут быть сжаты или не сжатое. FS_FILE_COMPRESSION И флаги FS_VOL_IS_COMPRESSED взаимно исключительные; оба бита не мочь возвращаться установленным. Максимальная компонентная величина длины, загружалась в переменную DWORD указанную, чтобы lpMaximumComponentLength, - единственный указатель, что объем поддерживает дольше-чем-нормальный ЖИР (или другая файловая система) файловые имена. Файловое системное имя не изменено, чтобы указывать поддержку для длинных файловых имен.
Функция GetCompressedFileSize получает сжатый размер файла. Функция GetFileAttributes может определить сжат индивидуальный файл.
Смотри Также
GetCompressedFileSize, GetFileAttributes, SetErrorMode, SetVolumeLabel
|
|
|
|
| |