【发布时间】:2016-05-02 16:34:33
【问题描述】:
我正在尝试从 DLL 初始化 COM 安全性,但我收到错误 800401f0。我主要使用标准方法,
代码:
HRESULT hres;
hres = CoInitializeEx(0, COINIT_MULTITHREADED);
// Step 2: --------------------------------------------------
// Set general COM security levels --------------------------
hres = CoInitializeSecurity(
NULL,
-1, // COM authentication
NULL, // Authentication services
NULL, // Reserved
RPC_C_AUTHN_LEVEL_DEFAULT, // Default authentication
RPC_C_IMP_LEVEL_IMPERSONATE, // Default Impersonation
NULL, // Authentication info
EOAC_NONE, // Additional capabilities
NULL // Reserved
);
如果我从我的 app.exe 运行它,它工作得很好,但问题是我在 .DLL 中运行它,它实际上是 Main.exe 的函数扩展器(我没有访问权限 - 源代码或任何)。
我用来获取机器数据的整个代码,例如 - BIOS 版本,通过 IWbemClassObject 和 IEnumWbemClassObject,所以我想知道解决它的更简单/更简单的方法是什么,或者检索硬件数据(比如 @ 987654325@Win32_BIOS SerialNumberWin32_VideoController Name?
【问题讨论】: