Здравствуйте, zxcvb, Вы писали:
Z>Есть у меня midl файл с описанием интерфейсов, перед каждым методом стоит ид, но вот проблема в том, что некоторые ид идут не по порядку, например
Z>[id(0x0000000a)]
Z> HRESULT UpdatePosition(...
Z>[id(0x00000014)]
Z> HRESULT AddSymbol(....
Z>и т.п. Вопрос мой в следующем — при при расчете смещения относительно указателя, который я получу у QueryInterface, нужно ли руководствоваться этим id, или он предназначен исключительно для IDispatch?
Этот id предназначен даже не для IDispatch, а для ITypeInfo. Хотя, имея id и ITypeInfo, можно получить смещение в таблице виртуальных функций, если интерфейс имеет эту таблицу. В противном случае для этих методов нет "смещения относительно указателя".