This link说:“选项--new-half-serial只会更改序列号的上半部分,保持Windows使用的下半部分不变。”
这表明磁盘上存在Volume Id的上半部分,有没有办法在Windows中实现? (GetVolumeInformation仅返回下半部分)。 Ubuntu使用blkid
显示整个64位值。
注意:
“这不是Windows用来查找已移动到另一个卷的文件的卷UUID。”
这是指卷UUID,而不是我在这里讨论的卷ID。卷UUID的格式为:\\.\Volume{7E899CB7-0079-11E1-BC4E-002219F6E9D9}
答案 0 :(得分:0)
我想你想看看
NTFS_VOLUME_DATA_BUFFER
结构和DeviceIO命令:
FSCTL_GET_NTFS_VOLUME_DATA
功能DeviceIoControl()
。我想你会在那里找到你想要的东西。 NFTS_VOLUME_DATA_BUFFER的第一个成员被定义为LARGE_INTEGER,它只是一个typedef:
typedef union _LARGE_INTEGER {
struct {
DWORD LowPart;
LONG HighPart;
};
struct {
DWORD LowPart;
LONG HighPart;
} u;
LONGLONG QuadPart;
} LARGE_INTEGER;
让我知道这是否有帮助......