ASHWID:如何确定要存储的组件作为唯一ID

时间:2012-11-30 03:13:34

标签: windows-store-apps winjs

根据

中的参考帮助

http://msdn.microsoft.com/en-us/library/windows/apps/jj553431.aspx

下面是一个简单的说明,您可以通过一种方式处理云服务中的硬件漂移:

If [(Component_1_previous == Component_1_current) x Weight_1 + 
(Component_2_previous == Component_2_current) x Weight_2 + 
(Component_3_previous == Component_3_current) x Weight_3 + ……..
(Component_n_previous == Component_n_current) x Weight_n]>= [Threshold_for_being_the_same_device]
Then It_is_the_same_device  

在设备识别中使用相对权重

相对权重取决于您的业务逻辑以及您认为可接受的硬件漂移。没有明确的权重值建议。某些组件比其他组件更不可能变化,并且应该具有更高的权重。例如,BIOS比音频适配器更不太可能改变。根据连接到系统的驱动器数量,可能会显示多个磁盘驱动器。安装操作系统的驱动器的组件ID不太可能更改。大多数x86 / x86-64系统上的处理器组件ID非常稳定。如果您发现扩展坞组件返回相同的组件ID,则为其分配零权重是有意义的。

我们如何确定要使用的组件。如何以编程方式实现这一目标。有这样的样品吗?我想将此作为id作为安装应用程序的设备的唯一ID,而不管用户是在哪个用户中登录。

1 个答案:

答案 0 :(得分:1)

这些样本可能有所帮助:

http://code.msdn.microsoft.com/windowsapps/How-to-use-ASHWID-to-3742c83e http://code.msdn.microsoft.com/windowsapps/Generate-UniqueID-based-on-4aeeabde

我不得不说,我不明白为什么微软会为操作系统安装获取一个如此复杂的唯一ID。