#visual-c #com
#visual-c #com
Вопрос:
Компиляция COM-клиента, исходный код которого содержит строку типа
#import "../server/IFoo.tlb"
генерирует ifoo.tlh в текущем рабочем каталоге.
В ifoo.tlh есть идентификаторы IID в строковой форме, обернутые вызовами функций (или похожих на функции макросов), например uuid("6bee2d26-f3d8-11d4-825d-00104b3646c0")
, что означает .файл tlh определенно знает значения IID. Вопрос в том, что в клиентских кодах, как я могу ссылаться на эти IID без #include
какого-либо файла заголовка COM-сервера? В .файл tlh или файл .tlb, существуют ли какие-либо (скомпилированные) символы, представляющие IID, которые мы можем использовать в клиентских кодах? Спасибо.
Ответ №1:
Вы можете использовать оператор __uuidof (специфичный для Microsoft):
Извлекает идентификатор GUID, прикрепленный к выражению.
Синтаксис
__uuidof (выражение)