我怎么能失败CoCreateInstanceEx,CoInitializeSecurity,CoSetProxyBlanket,WMI调用

时间:2012-04-17 11:31:51

标签: c++ unit-testing com wmi

我正在执行测试,作为我的单元测试项目的一部分。 我想知道有没有办法让下面的电话失败:

CoCreateInstance的 CoInitializeSecurity CoSetProxyBlanket WMI呼叫

我希望以管理员用户身份执行此操作,而无法访问任何代码,例如停止任何服务或删除任何dll

我必须这样做才能使负面覆盖率增加。

任何人都可以帮助我:)。

非常感谢:)

2 个答案:

答案 0 :(得分:0)

CoCreateInstance:您可以通过修改注册表轻松失败。例如,如果要初始化WMI类,请在注册表中找到该类并重命名其键和值。一定要先备份。

CoInitializeSecurity:我没有尝试过,但我很确定你可以通过权限较低的用户将其失败。例如,没有管理员权限的用户将无法获得HDD序列号。

CoSetProxyBlanket:再次,我认为你可以通过权限较低的用户使其失败。但我不确定这个。

答案 1 :(得分:0)

只需连续两次调用CoInitializeSecurity即可轻松失败。第二个调用将失败,出现0x80010119(RPC_E_TOO_LATE)。