Еще один голос от меня за именованные каналы, за обмен данными. Они мне нравятся немного больше, чем файлы mmap, поскольку API-интерфейсы win32 pipe предоставляют вам несколько полезных вариантов: синхронизация / асинхронность, поток байтов против пакетов сообщений, простые вызовы ReadFile / WriteFile. Все, что вы могли бы сделать самостоятельно с помощью mmaps ... но каналы уже есть ...
И вы можете контролировать доступ с помощью атрибутов безопасности - что невозможно с WM_CopyData. Это может не быть проблемой сразу ... но может быть удобно иметь опцию, даже если вам все равно, кто отправляет сообщения вашего приложения. Для меня это было полезно, когда появилась Vista, и внезапно пользовательские приложения запускались в отдельном сеансе для моего сервиса. Хорошо, что настройка атрибутов безопасности была единственной вещью, необходимой для того, чтобы все заработало снова.
Для "инициирующих действий", возможно, вам удастся сойти с рук что-то столь же простое, как некоторые из названных событий, и вообще не беспокоиться об отправке сообщений? Заинтересованные стороны просто ждут, пока его оповестят.
Лично я бы избегал COM, если вам не требуется специально поддерживать клиенты на основе COM.