![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хук 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;