![]() |
1
4
你(呼叫者)不需要检查指针是否不存在
但是,您应该检查返回的
被叫方应检查指针是否
|
![]() |
2
1
根据 MSDN docs ,queryinterface返回s_ok,在这种情况下,out参数将被正确设置。或者返回e_nointerface,在这种情况下,不会设置out参数。 如果传入的void**为空,则返回e_指针。 我不需要检查空值,而是检查iunknown::queryinterface的返回值。 检查空值可能没有什么坏处,但是考虑到接口的保证,它看起来像是一个冗余检查。 |
![]() |
3
0
这取决于你是什么样的COM对象(或者你是哪个应用程序的宿主)。大多数情况下,只要检查hresult就足够了。如果您正在处理第三方对象(资源管理器替换等),您可能还应该检查是否为空。资源管理器会这样做,因此,如果您想避免在错误扩展中崩溃,还需要这样做: |
![]() |
Cleric · C#运行主动自动化对象-如何源事件? 6 年前 |
![]() |
Daniël J · 使用GUI制作COM服务器的最佳实践是什么? 6 年前 |
![]() |
Toponimo · 从Python访问COM方法 6 年前 |
|
user8666372 · 自动向可用引用添加引用 7 年前 |