Показать полную графическую версию : что такое интерфейс IUnknown
собственно сабж... единственное что я понял, интерфейс связан как-то с COM.....
пользовался ActiveX компонентом GWX. при создании объекта GWRoute вместо обхъекта получаю этот самый IUnknown...
как мне "переёти" к нужому объекту??....
XPEHOMETP
05-05-2006, 23:08
IUnknown - это как бы такая примочка в Дельфи, которая позволяет подключить COM-объект, не влезая во все детали реализации конкретного СОМ-интерфейса. В общем, чего бы там конкретно ни было написано, работать все равно будет. А если разбираться со всеми конкретными деталями, это придется описывать в явном виде все методы, которые предоставляет СОМ-объект. Это можно (при наличии толковой документации), но очень, очень, очень долго и муторно. Есть и другие варианты таких примочек, например, atl71.dll, которая идет в комплекте .NET.
XPEHOMETP
Полностью несоответствующая действительности информация.
IUnknown - предок всех возможных COM-интерфейсов. В нём есть три метода, два для управления временум жизни объекта - AddRef и Release и один для запроса других интерфейсов поддерживаемых объектом - QueryInterface. Соотвтественно после создания объекта (получения указателя на IUnknown) необходимо запросить конкретный интерфейс. Делается это по так называемому IID'у, его надо знать заранее (или можно импортировать из т. н. библиотеки типов, но это несколько сложнее и нафиг не нужно, если интерфейс известен априорно).
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/html/33f1d79a-33fc-4ce5-a372-e08bda378332.asp
ATL никакого отношения к .NET не имеет.
hasherfrog
07-05-2006, 00:10
>> IUnknown - предок всех возможных COM-интерфейсов.
Добавлю очевидное(?). Любой COM-объект поддерживает IUnknown-интерфейс.
>> как мне "переёти" к нужому объекту??....
Через IUnknown::QueryInterface. Можете поискать в DirectX SDK, много примеров.
ivank,hasherfrog спасибо.....
пойду пробовать
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.