getVolumeInformationW 函数 (fileapi.h)
检索与指定根目录关联的文件系统和卷的相关信息。 若要在检索此信息时指定句柄,请使用 [color=var(--theme-hyperlink)]GetVolumeInformationByHandleW 函数。 若要检索文件或目录的当前压缩状态,请使用 [color=var(--theme-hyperlink)]FSCTL_GET_COMPRESSION。 [C++] 纯文本查看 复制代码 BOOL GetVolumeInformationW(
[in, optional] LPCWSTR lpRootPathName,
[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, optional] lpRootPathName 指向包含要描述的卷的根目录的字符串的指针。 如果此参数为 NULL,则使用当前目录的根目录。 尾随反斜杠是必需的。 例如,将 \\MyServer\MyShare 指定为“\\MyServer\MyShare\”,或将 C 驱动器指定为“C:\”。 [out, optional] lpVolumeNameBuffer 指向接收指定卷名称的缓冲区的指针。 缓冲区大小由 nVolumeNameSize 参数指定。 [in] nVolumeNameSize 卷名称缓冲区的长度(以 TCHAR 为单位)。 最大缓冲区大小为 MAX_PATH+1。 如果未提供卷名缓冲区,则忽略此参数。 [out, optional] lpVolumeSerialNumber 指向接收卷序列号的变量的指针。 如果不需要序列号,此参数可以为 NULL 。 此函数返回格式化硬盘时操作系统分配的卷序列号。 若要以编程方式获取制造商分配的硬盘序列号,请使用 Windows Management Instrumentation (WMI) [color=var(--theme-hyperlink)]Win32_PhysicalMedia 属性 SerialNumber。 [out, optional] lpMaximumComponentLength 指向变量的指针,该变量接收指定文件系统支持的文件名组件的最大长度(以 TCHAR 为单位)。 文件名组件是文件名在反斜杠之间的部分。 存储在 *lpMaximumComponentLength 指向的变量中的值用于指示指定的文件系统支持长名称。 例如,对于支持长名称的 FAT 文件系统,函数存储值 255,而不是以前的 8.3 指示器。 使用 NTFS 文件系统的系统上也支持长名称。 [out, optional] lpFileSystemFlags 指向接收与指定文件系统关联的标志的变量的指针。 此参数可以是以下一个或多个标志。 但是, FILE_FILE_COMPRESSION 和 FILE_VOL_IS_COMPRESSED 是相互排斥的。
取出所在文件路径,取运行目录() 然后把根目录传递进去就可以了。
应该
|