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

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

Как добраться до таблицы интерфейсов [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?


Наверх

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