Как мне написать COM-объект с нуля

#visual-studio-2010 #com

#visual-studio-2010 #com

Вопрос:

Как мне написать COM-объект с нуля в Visual Studio? Похоже, что для com-объекта не существует опции new project.

Ответ №1:

Вы должны перейти к Other Languages -> Visual C -> ATL Project , чтобы написать COM-объект.

Комментарии:

1. ATL == активная библиотека шаблонов. Все ли com-объекты написаны таким образом?

2. Являются ли все COM-объекты базовыми DLL, и технология COM на самом деле заключается в том, какой код находится в DLL, что делает его COM-объектом?

3. COM-объекты — это просто библиотеки DLL, которые предоставляют определенный интерфейс. А именно IUnknown. Имейте в виду, что существуют способы создания управляемых сборок, которые предоставляют эти интерфейсы и позволяют COM-клиентам взаимодействовать с ними.

4. ATL довольно сильно упрощает разработку COM. В шаблонах и макросах скрыто множество кода boiler plate. Однако это не самая простая из задач. Вам следует обзавестись книгой по этому вопросу, поскольку COM определяет набор сценариев и правил, по которым могут выполняться ваши COM-объекты. ATL или нет, вам нужно знать эти правила. Что касается выполнения этого в .NET, это будет проще, но вы получите зависимость от . NET framework, который может быть или не быть приемлемым в соответствии с вашими требованиями.

Ответ №2:

Xarzu — Было бы полезно узнать, что вы хотите сделать. Если вы хотите создать компонент, который может использовать преимущества функций Windows Server, таких как транзакции, объединение объектов в пул, службы безопасности или очереди, вы можете обойтись приложением COM (которое было бы написано как приложение библиотеки C #).

Если вы погружаетесь глубже и не используете Windows enterprise services, вы будете иметь дело с Visual C , как упоминал Аамир.

Просто хотел убедиться, что вы получаете ответ на правильный вопрос.