windows com midl

windows - ID de funciones de interfaz consecutivas



com midl (1)

Los valores reales de identificación son números arbitrarios. No tienen que ser consecutivos; solo tienen que ser únicos. Los valores cero y negativo son, por convención, reservados para ciertos métodos especiales . Aparte de eso, no hay reglas.

Tengo una interfaz de objeto COM en midl como

interface InterfaceName : IDispatch { [id(1)] HRESULT FunA(...); [id(2)] HRESULT FunB(...); [id(3)] HRESULT FunC(...); }

¿Los identificadores deben ser consecutivos? ¿O puedo definirlo como

interface InterfaceName : IDispatch { [id(1)] HRESULT FunA(...); [id(3)] HRESULT FunB(...); [id(5)] HRESULT FunC(...); }

La compilación de la segunda versión parece estar bien, pero ¿surgirán problemas en el tiempo de ejecución?