我在midl中有一个COM对象接口
interface InterfaceName : IDispatch { [id(1)] HRESULT FunA(...); [id(2)] HRESULT FunB(...); [id(3)] HRESULT FunC(...); }
ID需要连续吗?或者我可以定义它
interface InterfaceName : IDispatch { [id(1)] HRESULT FunA(...); [id(3)] HRESULT FunB(...); [id(5)] HRESULT FunC(...); }
编译第二个版本似乎没问题,但在运行时会出现任何问题吗?
实际id值是任意数字.它们不必是连续的;他们必须是独一无二的.按惯例,零和负值是
reserved for certain special methods.除此之外,没有规则.