COM ordinal, interfase

Тема в разделе "WASM.RESEARCH", создана пользователем PaCHER, 7 май 2007.

Статус темы:
Закрыта.
  1. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    Просмотрев все тамы про COM на форуме и на сайте, не нашел ответа на свой вопрос.

    Где можно посмотреть точное описание того или иного интерфейса, тоесть какой метод следует за каким и в каком порядке.
    т.к. имея дизасм листинг вызов идет как [ecx+34h] и вот нужно определить какому name_metod ([ecx+name_metod]) сотвецтвует эта 34h.
    Пример описание интерфейса IWebBrowser2 в фасме:
    interface IWebBrowser2,\
    GoBack,\;0*4
    GoForward,\;1*4
    GoHome,\;2*4
    GoSearch,\;3*4
    .....................
    (тоесть просто константы 0*4, 1*4 и.т.д но важен сам порядок и количество)

    http://wasm.ru/forum/viewtopic.php?id=9533 - тут вроде правильно составлена структура интерфейса.

    Вот собственно интересует где найти полное и правильное описание интерфейса, или опираясь на какой источник его можна составить самому.
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    PaCHER
    Библиотека типов.
     
  3. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    можна подробнее, чем эту библу патрашить.
     
  4. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    PaCHER
    Ну когда делается "нормальный" COM, для него делается описание интерфейсов, и засовывается куда-либо. Например в сам COM в ресурсы, или .tlb или другие отдельные файлы.
    В MSVC есть OleView.exe, которая их показывает. Или Tools->Ole/Com ObjectViewer.
     
  5. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    Booster
    Еще вопрос.
    Описание нужно начинать с IUnknown и IDispatch во всех интерфейсах?
     
  6. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    PaCHER
    А оно тебе надо? Ковырять в хексах COM-вещи. Смысл? MS чуть-чуть его модернизирует и ты что поновы бушь ковырять и искать отличия от уже раскапанных, зачем?

    А вообще, ты прав надо ковырять с IUnkown, но не каждый интерфейс потомок от него! Есть такие интерфейсы, которые не являются потомками IUnknown, иногда их программеры делают для при общения к темной силе, так вот эти интерфейсы вроде как сами сказать по себе! Но тогда они в COM не вписываются!

    ЗЫ:
    Я учился у Антона Григорьева, тот бы поболее тебе бы сказанул! :)
     
  7. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    Зачем по новой, они его полностью менять не будут, а будут просто дополнять, так что наковыряное останется, просто будет недополненое.

    Угу, те что наследуют его методы.

    Вобщем я разобрался, всем спаибо :) тему можна закрывать.
     
Статус темы:
Закрыта.