如果我通过IDispatch(后期绑定)使用错误的数量/类型的参数调用COM对象的方法,是否会返回一些错误代码,或者程序是否会崩溃或出现其他故障?我只是想知道IDispatch的后期绑定是否是类型安全的。
答案 0 :(得分:2)
这取决于Invoke
IDispatch
方法的实际实施情况;它可以检查pDispParams
中传递的参数是否正确或盲目使用它们,忽略因错误操作它们而产生的COM错误或将这些错误报告给调用者,...
但是,如果您调用的接口使用默认的DispInvoke
函数来实现IDispatch::Invoke
,那么您应该是安全的,因为它会对参数进行合理的健全性检查。