GetVolumeInformation

【勇芳软件工作室】汉化HomePreviousNext

GetVolumeInformation函数返回有关指定根目录的文件系统和卷的信息。

BOOL GetVolumeInformation(

LPCTSTR 【lpRootPathName】,//文件系统根目录的地址
LPTSTR 【lpVolumeNameBuffer】,//卷的名称地址
DWORD 【nVolumeNameSize】,// length of 【lpVolumeNameBuffer】
LPDWORD 【lpVolumeSerialNumber】,//卷序列号的地址
LPDWORD 【lpMaximumComponentLength】,//系统最大文件名长度的地址
LPDWORD 【lpFileSystemFlags】,//文件系统标志的地址
LPTSTR 【lpFileSystemNameBuffer】,//文件系统名称的地址
DWORD 【nFileSystemNameSize】//长度【lpFileSystemNameBuffer】
); 

参数

【lpRootPathName】

指向包含要描述的卷的根目录的字符串。如果此参数为NULL,则使用当前目录的根。如果此参数是UNC名称,则必须使用其他反斜杠来执行此操作。例如,您可以将\\\\ MyServer \\ MyShare指定为\\\\ MyServer \\ MyShare \\。

【lpVolumeNameBuffer】

指向接收指定卷名称的缓冲区。

【nVolumeNameSize】

指定卷名称缓冲区的长度(以字符为单位)。如果未提供卷名称缓冲区,则忽略此参数。

【lpVolumeSerialNumber】

指向接收卷序列号的变量。如果不需要序列号,则该参数可以为NULL。

【lpMaximumComponentLength】

指向双字值,它接收指定文件系统支持的文件名组件的最大长度(以字符为单位)。文件名组件是反斜杠之间的文件名部分。

存储在* 【lpMaximumComponentLength】指向的变量中的值用于指示指定的文件系统支持长名称。例如,对于支持长名称的FAT文件系统,该函数存储值255,而不是先前的8.3指示符。在使用新技术文件系统的系统上也可以支持长名称。

【lpFileSystemFlags】

指向接收与指定文件系统关联的标志的双字。此参数可以是以下标志的任意组合,但有一个例外:FS_FILE_COMPRESSION和FS_VOL_IS_COMPRESSED是互斥的。

含义
FS_CASE_IS_PRESERVED如果设置了此标志,文件系统会在磁盘上放置名称时保留文件名。
FS_CASE_SENSITIVE如果设置此标志,则文件系统支持区分大小写的文件名。
FS_UNICODE_STORED_ON_DISK如果设置了此标志,则文件系统会在文件名中显示在磁盘上时支持Unicode。
FS_PERSISTENT_ACLS如果设置此标志,文件系统将保留并强制执行A??CL。例如,NTFS保留并强制执行A??CL,FAT不存在。
FS_FILE_COMPRESSION文件系统支持基于文件的压缩。
FS_VOL_IS_COMPRESSED指定的卷是压缩卷;例如,一个DoubleSpace卷。

【lpFileSystemNameBuffer】

指向接收文件系统名称(如FAT或NTFS)的缓冲区。

【nFileSystemNameSize】

指定文件系统名称缓冲区的长度(以字符为单位)。如果不提供文件系统名称缓冲区,则忽略此参数。

返回值

如果检索到所有请求的信息,则返回值不为零。

如果不是全部请求的信息都被检索,则返回值为零。要获取扩展错误信息,请调用GetLastError.

备注

如果您尝试获取有关没有软盘的软盘驱动器或没有光盘的CD-ROM驱动器的信息,系统将显示一个消息框,要求用户插入软盘或光盘, 分别。要防止系统显示此消息框,请使用SEM_FAILCRITICALERRORS调用SetErrorMode功能。

FS_VOL_IS_COMPRESSED标志是基于卷的压缩的唯一指标。不改变文件系统名称来表示压缩。例如,这个标志在DoubleSpace卷上设置。使用基于卷的压缩,整个卷被压缩或不被压缩。

FS_FILE_COMPRESSION标志指示文件系统是否支持基于文件的压缩。通过基于文件的压缩,可以压缩或不压缩各个文件。

FS_FILE_COMPRESSION和FS_VOL_IS_COMPRESSED标志是互斥的;两个位都不能回来设置。

【lpMaximumComponentLength】指向的DWORD变量中存储的最大组件长度值是卷支持长于正常FAT(或其他文件系统)文件名的唯一指示符。文件系统名称不会更改,表示支持长文件名。

GetCompressedFileSize函数获取文件的压缩大小。GetFileAttributes功能可以确定单个文件是否被压缩。

也可以看看

GetCompressedFileSize, GetFileAttributes, SetErrorMode, SetVolumeLabel