为什么SetupDiCallClassInstaller函数仅限于64位程序?

nat*_*han 6 64-bit winapi 32-bit setupapi

尝试从32位模式编译的程序调用SetupDiCallClassInstaller在64位Windows上失败.

显然这是设计,但我想知道原因.

小智 -1

如果您从 64 位操作系统上的 32 位进程进行该调用,则会失败,因为它必须修改注册表的 64 位部分中的某些注册表项。如果您要从 64 位操作系统上的 64 位进程进行该调用,那么在 32 位操作系统上使用 32 位进程同样会成功。