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


На сайте http://nova-attraction.ru силомер боксер купить. |

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


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

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

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

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

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

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

  • В окне редактора 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, которая служит для хранения уникальных идентификаторов СОМ-объектов, интерфейсов, библиотек типов и других реалий причудливого мира СОМ.




    Содержание  Назад  Вперед