当通过IDispatch使用错误的数量/类型的参数调用方法时会发生什么

时间:2012-12-09 17:06:43

标签: c++ com

如果我通过IDispatch(后期绑定)使用错误的数量/类型的参数调用COM对象的方法,是否会返回一些错误代码,或者程序是否会崩溃或出现其他故障?我只是想知道IDispatch的后期绑定是否是类型安全的。

1 个答案:

答案 0 :(得分:2)

这取决于Invoke IDispatch方法的实际实施情况;它可以检查pDispParams中传递的参数是否正确或盲目使用它们,忽略因错误操作它们而产生的COM错误或将这些错误报告给调用者,...

但是,如果您调用的接口使用默认的DispInvoke函数来实现IDispatch::Invoke,那么您应该是安全的,因为它会对参数进行合理的健全性检查。