Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Корпорация Майкрософт определяет множество COM-интерфейсов. В большинстве случаев эти универсальные интерфейсы можно использовать повторно. Однако некоторые приложения имеют определенные требования, которые делают желательным или необходимым определение собственных интерфейсов объектов.
Все интерфейсы COM должны быть производными от интерфейса IUnknown. В рамках этого ограничения пользовательский интерфейс может поддерживать практически любой метод или параметр, включая асинхронные методы. Вы также можете создать библиотеку типов для пользовательских интерфейсов, чтобы клиенты могли получать доступ к сведениям о методах объекта во время выполнения. После определения интерфейса опишите его в языке определения интерфейса Майкрософт (MIDL), скомпилируйте и зарегистрируйте его, используйте его так же, как и любой универсальный интерфейс. С помощью распределенного COM методы интерфейса доступны как для удаленных процессов, так и для других процессов на одном компьютере.
Наконец, для создания COM-интерфейсов требуется среда разработки, содержащая компилятор C/C++ и компилятор Midl.exe.
Ниже приведены действия по созданию COM-интерфейса.
- Определите, как вы хотите предоставлять поддержку маршалинга для вашего интерфейса: либо с маршалингом на основе библиотеки типов, либо с помощью DLL прокси/заглушки. Даже внутрипроцессные интерфейсы должны маршалироваться, если они должны использоваться через границы квартиры. Рекомендуется встроить поддержку маршалинга в каждый интерфейс COM, даже если вы не думаете, что она вам понадобится. Дополнительные сведения см. в статье Маршалинг интерфейса.
- Описание интерфейса или интерфейсов в файле определения интерфейса (IDL). Кроме того, можно указать определенные локальные аспекты интерфейса в файле конфигурации приложения (ACF). Если вы используете маршалинг на основе библиотеки типов, добавьте инструкциюбиблиотеки, которая ссылается на интерфейсы, для которых требуется создать сведения о типе.
- Используйте компилятор MIDL для создания файла библиотеки типов и файла заголовка, а также файлов прокси-сервера или заглушки на языке C, файла идентификатора интерфейса, файла данных DLL и файла заголовка. Дополнительные сведения см. в компиляции MIDL.
- В зависимости от выбранного метода маршалинга напишите файл определения модуля (DEF), скомпилируйте и свяжите все созданные MIDL-файлы в единую прокси-DLL и зарегистрируйте интерфейс в системном реестре или зарегистрируйте библиотеку типов. Дополнительные сведения см. в разделах «Загрузка и регистрация библиотеки типов» и «Сборка и регистрация библиотеки прокси-сервера DLL».
Связанные разделы