c++ - Windows CE 设备的唯一机器 ID

标签 c++ winapi windows-mobile windows-ce

我需要为 CE 6.0 设备生成唯一的机器 ID。在 Windows 操作系统上,我使用 WMI 获取一些硬件标识符,我从中构造了这个 ID。显然,Win CE 不支持 WMI,因此我正在寻找替代方案。

目前我正在玩我在 Platform Builder 中构建的操作系统镜像并在模拟器中测试我的应用程序,稍后我将交付真正的 WinCE 设备。

我已经尝试了 GetDeviceUniqueIDKernelIoControl(IOCTL_HAL_GET_DEVICEID,... 但它们都返回了 ERROR_NOT_SUPPORTED (0x80070032)。

  1. 我是否需要从 wince 目录中包含一些软件包才能启用此功能?
  2. 此限制是否仅适用于模拟器? (我的意思是,可能是 OEM 正在为真实设备实现这种唯一 ID 功能吗?

  3. 您是否还有其他想法可以构建此值?比如获取硬件/操作系统序列号等,如何获取?

最佳答案

如果您正在构建操作系统,则需要实现 IOCTL,以便 KernelIoControl 返回一些内容。它的派生方式完全取决于您。我看到MAC是base,还有板载flash的序列号。

我不能说你会如何为你的特定平台做到这一点,但作为 x86 的例子,你可能会 clone the code在 %WINCEROOT&\PLATFORM\COMMON\SRC\X86\COMMON\IOCTL\devinfo.c 并修改克隆(显然不要修改通用代码)。

关于c++ - Windows CE 设备的唯一机器 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1119574/

相关文章:

c# - 在 C# 中发送 USSD?

c++ - 立方图上的 OpenGL 奇怪的红绿蓝线重复三次

c++ - 涉及嵌套模板参数和默认值的模板类型推导

C++ boost : how to implement session per thread

windows - 如何使用我的应用程序对 Chrome 进行 IPC?

python - 使用Perl、Python或Ruby,如何编写一个程序到 "click"在预定的时间显示在屏幕上?

c++ - Windows 7 shell 函数的链接问题

c++ - 如何检测 Windows Mobile 上的键盘和/或鼠标输入?

windows-mobile - 我可以使用 Windows Mobile 6 SDK 开发 Windows Mobile 5 应用程序吗

c++ - 如何在 Windows 中从任何格式转换为 PCM