Подскажите как реализовать IDispatch::Invoke на асме, больше всего меня интересует получение параметров, которые передаются при вызове метода. Пакраметр pDispParams указывает на структуру DISPPARAMS. DISPPARAMS struct rgvarg dd ? rgdispidNamedArgs dd ? cArgs dd ? cNamedArgs dd ? DISPPARAMS ends Значение cArgs колво - параметров, а rgvarg - указатель на массив из VARIANT(здесь я не уверен)? Может кто-то с этим сталкивался?
Значение cArgs колво - параметров, а rgvarg - указатель на массив VARIANT[cArgs], только они(VARIANTы) расположены в обратном порядке(последний параметр - eax+0, предпоследний - eax+sizeof VARIANT, и т.д.). А дальше определяешь тип VARIANT.vt и получаешь нужное значение.