Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hash 为什么该代码生成不同的数字?_Hash_Cpu_Uniqueidentifier_Hard Drive - Fatal编程技术网

Hash 为什么该代码生成不同的数字?

Hash 为什么该代码生成不同的数字?,hash,cpu,uniqueidentifier,hard-drive,Hash,Cpu,Uniqueidentifier,Hard Drive,我有这个函数,它为硬盘和CPU组合创建一个唯一的编号 GetVolumeInformation(drv, szNameBuffer, 256, &dwHddUnique, NULL, NULL, NULL, NULL); SYSTEM_INFO si; GetSystemInfo(&si); dwProcessorUnique = si.dwProcessorType + si.wProcessorArchitecture + si.wProc

我有这个函数,它为硬盘和CPU组合创建一个唯一的编号

    GetVolumeInformation(drv, szNameBuffer, 256, &dwHddUnique, NULL, NULL, NULL, NULL);

    SYSTEM_INFO si;
    GetSystemInfo(&si);

    dwProcessorUnique = si.dwProcessorType + si.wProcessorArchitecture + si.wProcessorRevision;
    dwUniqueKey = dwProcessorUnique + dwHddUnique;
如果我格式化硬盘并安装新的Windows,它会返回不同的数字。有什么想法吗,为什么

多谢各位

编辑: 好的,明白了():

此函数用于返回卷 操作系统所使用的序列号 系统分配硬盘何时可用 格式化。通过编程获得 硬盘的序列号 制造商指定,使用窗口 管理工具(WMI) Win32_物理媒体属性 序列号


在把我的问题发布到网上之前,我应该做更多的研究。很抱歉打扰您,让我们把这个放在这里,以防其他人需要。

可能是因为当您格式化硬盘时,它会为它生成一个新的唯一UUID?(因此
dwHddUnique
会有所不同)

显然是因为
dwProcessorUnique
dwHddUnique
发生了变化。请不要发布超出您的问题所需的代码。因此,请确定这两个更改中的哪一个,然后从上面的代码中删除另一个