Я просто хотел упомянуть, что веб-приложение с помощью плагина Механизмов может использовать Геолокация забастовка> ( Больше Avaliable) (GPS и службы определения местоположения Wi-Fi), и это работает над Android (браузер на поставках G1 со встроенной поддержкой Механизмов).
я не уверен, существует ли надежда на получение поддержки механизмов на iPhone, но это - другой полезный подход к созданию веб-приложений с дополнительными функциями, все еще имея широкую досягаемость устройств.
Вы можете попробовать IDispatch / IDispatchEx, если просто хотите знать, какие методы вызываются у вашего потребителя.
В COM метод QueryInterface в IUnknown не требуется, чтобы отображать интерфейсы, которые он может возвращать. Вы просите один на основе его IID, и вы либо получаете, либо нет. Реализация QI в конкретном COM-объекте значительно различается, хотя предполагается, что она следует шаблону, описанному здесь Microsoft - http://msdn.microsoft.com/en-us/library/ms682521%28VS.85%29. aspx .
Dependency Walker может сделать эту работу за вас ...
http://theircorp.byethost11.com/index.php?vw=TypeLib - это бесплатный инструмент для проверки файлов TBL.
Dependency Walker не будет отображать интерфейсы, поскольку единственными экспортируемыми объектами являются DllGetClassObject, DllRegisterServer и т. Д. (Для COM, размещенного в DLL).
Вы можете, как говорит weismat, проверять файлы TLB . Многие COM-объекты содержат встроенные библиотеки типов в разделе ресурсов исполняемого файла. С помощью такого инструмента, как взломщик ресурсов, вы можете извлекать TLB и использовать COM-функции LoadTypeLib для получения указателя на интерфейс ITypeLib (конечно, вы можете использовать LoadTypeLib / LoadTypeLibEx напрямую с COM- или EXE-DLL).
С этим интерфейсом вы можете может перебирать типы, содержащиеся внутри.