2009-10-23 108 views
2

SD卡上有一个制造商的序列号,网上有很多页面描述如何在各种移动设备上检索它(包括this one)。但我需要检索它在桌面版本的Windows,并且适用于移动版本的Windows的代码似乎并没有翻译。在Windows XP/Vista/7上检索SD卡序列号?

问题:如何以编程方式从桌面Windows下的SD卡检索SD卡制造商的序列号?

编辑:从我收集的信息可以使用DeviceIoControlIOCTL_SFFDISK_DEVICE_COMMAND发送SD卡规范中的命令10,但它不可靠 - 它只适用于某些非USB读卡器,并且仅适用于这些读者的某些驱动程序。这对我们的目的是无用的。也许别人可以从这些信息中获得一些用处。

+0

我的问题是你是否知道一个事实,即它*可*可以在完成一种可靠的方式,即你知道任何已经做到这一点的软件吗? – 2012-06-01 02:43:23

+0

截至这个问题的时候,我无法找到任何可靠的方法来做到这一点。虽然已经过去了几年,但从那时起,该技术可能已经成熟。 – 2012-06-01 22:10:43

+0

不,我还没有发现任何其他可靠的软件。 – 2012-06-01 22:11:29

回答

0

那么,你可以使用SetupDiXXX api调用(see this Code Project example)或者如果我没有错误地使用WMI查询来做到这一点。

我不是很通用的使用WMI查询,但我确信网上有很多关于它的信息。

使用SetupDiXXX方法,您可以查询特定类的当前设备(您将不得不查找SD卡的设备类),然后通过计算机中存在的设备来查看制造商序列号。

有关SetupDiXXX功能参考,请参阅以下

+0

谢谢,但它看起来没有办法可靠地做到这一点。我在编辑问题以解释我发现的内容。 – 2009-10-24 23:17:11