![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как добраться до таблицы интерфейсов [WinXP]
Eraser © (2006-02-08 21:34:00)Здраствуйте.
Необходимо каким-то образом получить указатель на уже созданый интерфейс (вчастности IDirectDraw). Думаю значение можно получить только структур
PInterfaceTable = ^TInterfaceTable;
TInterfaceTable = record
EntryCount: Integer;
Entries: array[0..9999] of TInterfaceEntry;
end;
PInterfaceEntry = ^TInterfaceEntry;
TInterfaceEntry = record
IID: TGUID;
VTable: Pointer;
IOffset: Integer;
ImplGetter: Integer;
end;
так вот, по какому смещению в программе находится эта самая TInterfaceEntry? вообще реально добраться до этой структуры в общем случае, а не только для приложений, откомпилированных какой-то конкретной версией, конкретного компилятора?
Спасибо.
Sapersky (2006-02-10 15:36:00) [1]Если получить интерфейс нужно во внедрённой в постороннюю программу DLL, то можно перехватить функцию (метод) создания интерфейса. Во всяком случае, в демке madCodeHook так сделано: http://www.madshi.net
jack128 (2006-02-09 14:45:00) [2]Eraser © (08.02.06 21:34)
TInterfaceEntry? вообще реально добраться до этой структуры в общем случае, а не только для приложений, откомпилированных какой-то конкретной версией, конкретного компилятора?
вообще то TInterfaceEntry имеет смысл только в контексте компилятора Delphi..
Rouse_ (2006-02-09 13:07:00) [3]QueryInterface?