Вещи, которые начинаются просто, как это, имеют привычку расти со временем, поэтому вам, возможно, будет лучше проделать немного больше работы заранее и использовать технику, которая будет расти вместе с вами.
Внедрение интерфейса COM в вашу программу даст клиентам большую свободу в том, как интерфейс с ним, и вам не придется беспокоиться о механизме IPC и т. Д., Так как COM разработан, чтобы скрыть все это от вас .
В будущем COM уже имеет хорошо определенные идиомы для таких вещей, как события, которые хорошо поддерживаются языками сценариев и т. Д., Если они вам нужны.
Обновление : существует множество способов реализации COM. Вы можете создать его из первых принципов, руководствуясь хорошей книгой COM, или использовать фреймворк, такой как ATL, чтобы сэкономить часть котла. Есть много хороших образцов, например, см. MSDN .