Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Хук CoCreateInstance [D7, WinXP]


Misha Uskov ©   (2006-06-08 09:10:00) 

Помогите, пожалуйста, не удается одолеть subj.
Вот определение перехватываемой функции:
CoCreateInstance( REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID riid, LPVOID * ppv )
У себя определяю как
TCoCreateInstance = function(REFCLSID: TGUID; pUnkOuter: TLPUNKNOWN; dwClsContext: DWORD; riid: TGUID; ppv: pointer): Integer; stdcall;
TLPUNKNOWN = pointer;
собственно хучится без проблем, но падает при простом вызове перехваченной функции
function HookCoCreateInstanceSeven(REFCLSID: TGUID; pUnkOuter: TLPUNKNOWN; dwClsContext : DWORD; riid: TGUID; ppv: pointer): Integer; stdcall;
begin
result := TCoCreateInstance(OldCoCreateInstance)(REFCLSID, pUnkOuter, dwClsContext, riid, ppv);
end;
Терзают сомнения насчет правильности типов в функции


Misha Uskov   (2006-06-08 10:23:00) [1]

(1) Работает. Еще раз спасибо.


Misha Uskov   (2006-06-08 10:19:00) [2]

(1) Спасибо, пробую


Игорь Шевченко   (2006-06-08 10:03:00) [3]

function CoCreateInstance(const clsid: TCLSID; unkOuter: IUnknown;
 dwClsContext: Longint; const iid: TIID; var pv): HResult; stdcall;


Наверх

Титульная страница Поиск, карта сайта Написать письмо