Учебник по Visual C++ .Net


Как работают СОМ-серверы Созданный - часть 2


  1. Дайте команду Tools > External Tools и в окне диалога External Tools нажмите кнопку Add.

  2. Введите имя новой команды меню GuidGen, переведите фокус в поле Command и нажмите кнопку справа от нее.

  3. С помощью диалога поиска файла, найдите файл Guidgen.exe, который находится в папке .. .\Microsoft Visual Studio.Net\Common7\Tools, и нажмите кнопку Open.

  4. Переведите фокус в поле Initial Directory и с помощью кнопки раскрытия выпадающего списка выберите элемент Item Directory.

  5. Нажмите OK и теперь с помощью новой команды GuidGen меню Tools вызовите генератор уникальных идентификаторов.

  6. Выберите формат DEFINE_GUID и нажмите кнопку Сору, а затем Exit.

  7. В окне редактора Studio.Net поместите фокус перед строкой interface ISay и нажмите Ctrl+C. При этом из системного буфера в файл будут помещены три строки кода, которые с точностью до цифр, которые у вас будут другими, имеют такой вид:

// {170368DO-85BE-43af-AE71-053F506657A2}

DEFINE_GUID («name»,

0xl70368d0, 0x85be, 0x43af, 0xae, 0x71, 0x5, Ox3f, 0x50,

0x66, 0x57, Oxa2);

Замените аргумент «name» на HD_ISay. Повторите всю процедуру и создайте идентификатор для ко-класса CoSay, который вставьте сразу за идентификатором интерфейса ISay. На сей раз замените аргумент «name» на CLSiD_CoSay, например:

// {9B865820-2FFA-lld5-98B4-OOE0293F01B2}

DEFINE_GUID(CLSID_CoSay,

0х9b865820, 0x2ffa, 0xlldS, 0x98, 0xb4, 0x0, 0xe0, 0x29,

0x3f, 0xl, 0xb2);

Сохраните и закройте файл interfaces.h, так как мы больше не будем вносить в него изменений. Если вы хотите знать, что делает макроподстановка DEFINE_GUID, то за ней стоит такое определение:

#define DEFINE_GUID

(name, 1, wl, w2, \ b1, b2, bЗ, b4, b5, b6, b7, b8) \ EXTERN_C

const GUID name \

= { 1, wl, w2, { b1, b2, bЗ,b4, b5, b6, b7, b8 } }

Оно означает, что макрос создает структуру с именем <name> типа GUID, которая служит для хранения уникальных идентификаторов СОМ-объектов, интерфейсов, библиотек типов и других реалий причудливого мира СОМ.




Начало  Назад  Вперед



Книжный магазин