Мне нужно спроектировать inproc-сервер ATL, который помимо предоставления методов и свойств также может запускать события (источник) и служить приемником для стороннего COM-элемента управления, который запускает события. Я бы предположил, что это довольно распространенное требование. Я также могу предвидеть несколько «ошибок», о которых я хотел бы прочитать, прежде чем приступить к разработке. Мои вопросы / проблемы:
- Может кто-нибудь указать мне пример?
- Какую модель потоков использовать?
- Должен ли я иметь отдельный COM-объект для приемника?
- Должен ли я и как защищать определенную память. Например, мой сервер будет получать данные от стороннего контроля. Это сохранит это, а в некоторых случаях вызовет событие для заинтересованных клиентов. Заинтересованные клиенты будут запрашивать данные через стандартный метод или свойство. Я пытался исследовать это сам. Я могу найти много примеров COM-серверов, которые являются soures, и некоторые, которые являются приемниками, но никогда не оба. Единственный пост, который я нашел, был таким:
http://www.generation -nt.com / нам / АТЛ-контроль-ан-событийно-исток-мойка-помощь-9098542.html
Который настоятельно рекомендует помещать приемник на отдельный объект COM.
Любые предложения, учебные пособия или идеи будут высоко оценены.
Спасибо,
Andrew