Регистрация
Когда пользователь хочет вставить элемент OLE в приложение, OLE представляет список типов объектов для выбора. OLE получает список из базы данных регистрации системы, которая содержит данные, предоставляемые всеми серверными приложениями. Если сервер регистрирует, записи, помещает в базу данных регистрации системы (реестр) описан каждый тип объекта, он предоставляет расширения файла и путь к самому себе, среди прочего сведения.
Платформа и OLE библиотеки динамической компоновки (DLL) системы используют этот реестр для определения того, какие типы элемент OLE доступны в системе. OLE системные библиотеки DLL также используют этот реестр для задания способа запуска серверное приложение при ссылки или внедренный объект активированы.
В этой статье описывается, каждому серверному приложению приходится выполнять, если оно задано и каждый раз, когда он выполняется.
Дополнительные сведения о базе данных регистрации системы и формате файлов с расширением REG, используемых для его обновление см. в справочнике программиста OLE.
Установка сервера
При первом установите в серверное приложение, оно должно зарегистрировать все типы элемент OLE, которые она поддерживает. Кроме того, можно настроить сервер обновление базы данных регистрации системы каждый раз, когда она будет выполняться в виде изолированного приложения. Это сохраняет базу данных регистрации последней если исполняемый файл сервера перемещен.
Примечание
Приложения, созданные с помощью мастера приложений MFC автоматически регистрируются, когда они выполняются в качестве изолированных приложений.
Если необходимо зарегистрировать приложение во время установки следует использовать программы RegEdit.exe. (В Windows 95, Windows 98 и Windows Я, RegEdit в каталоге Windows. В Windows 2000 и Windows NT, RegEdit в папке Windows System32). При включении программы установки с приложением, имеют RegEdit отвечает программой установки appname.reg«/S». /S (Флажок указывает молчаливую операцию, то есть отображает диалоговое окно отчета успешного завершения команды). В противном случае сообщить пользователю выполнять RegEdit вручную.
Примечание
Файл с расширением REG созданный мастером приложений не включает в себя полный путь к исполняемому файлу.Программа установки должна или изменить reg-файла для включения полный путь к исполняемому файлу или изменить переменную среды PATH для включения каталог установки.
RegEdit выполнять слияние содержимого текстового файла с расширением REG в базу данных регистрации. Для проверки базы данных или для исправления ее используйте редактор реестра. Следить за тем, чтобы не удалять необходимые OLE записи. (В Windows 95, Windows 98 и Windows Я, редактор реестра RegEdit.exe. В Windows NT и Windows 2000, это RegEdit32.exe).
Инициализация сервера
При создании серверного приложения с помощью мастера приложений, мастер выполнит все задачи инициализации автоматически. В этом разделе описывается, что нужно сделать при создании серверного приложения вручную.
Если приложение сервера запущено из приложения контейнера, OLE системные библиотеки DLL добавить параметр «/Embedding» в командной строке сервера. Расширение функциональности серверной различаются в зависимости от того, запущен ли он контейнером, поэтому первое действие приложение должно сделать его, когда начинается выполнение активность «/Embedding» или «-» внедрить параметра командной строки. Если этот параметр существует, загрузите другой набор ресурсов, которые показывают, как сервер был или на месте активные или полностью открыты. Дополнительные сведения см. в разделе Меню и ресурсы: Добавление сервера.
В серверное приложение должно вызвать его возможности CWinApp::RunEmbedded для анализа командной строки. Если он возвращает ненулевое значение, приложение не должно отображать его окно, поскольку оно выполнялось от приложения, а не как изолированное приложение. Эта функция обновления записи сервера в базе данных регистрации системы и вызывает функцию-член RegisterAll автоматически, при выполнении регистрацию экземпляра.
При запуске серверное приложение запускается, следует убедиться, что приложение может выполнить регистрацию экземпляра. Регистрация экземпляра уведомляет OLE системные библиотеки DLL, что сервер запущен и готов к запросов из контейнеров. Она не добавляет запись в базе данных регистрации. Запустите регистрацию экземпляра сервера, вызвав функцию-член ConnectTemplate указанный COleTemplateServer. Это подключение объект CDocTemplate к объекту COleTemplateServer.
Функция ConnectTemplate принимает 3 параметра: CLSID сервера, указатель на объект CDocTemplate и флажок, указывающее, поддерживает ли сервер несколько экземпляров. Miniserver должен иметь возможность поддерживать несколько экземпляров, т е должно быть возможно для нескольких экземпляров сервера выполняться одновременно, по одному для каждого контейнера. Следовательно, передать значение TRUE для этого флажка запуск miniserver.
При создании miniserver, по определению он всегда будет запущено контейнером. Необходимо также анализ командной строки для проверки параметра «/Embedding». Без этого параметра в командной строке означает, что пользователь попытался снять запуска miniserver как изолированное приложение. Если это происходит, зарегистрируйте сервер с базой данных регистрации системы и затем откройте окно сообщения отчета пользователь для запуска miniserver из приложения.