Вы видели MSDN документы на эту тему?
Беглое чтение подразумевает, что это невозможно без включения /clr
в вашем коде C ++.если вы можете перейти к этой модели, то все, что вы хотите, кажется выполнимым.
Кстати, я бы не реализовывал код обновления / сигнализации по обе стороны управляемой / неуправляемой границы для ваших общих данных.Решите, где хранятся данные, и сделайте так, чтобы этот код предоставлял а) поточно-ориентированные средства доступа и б) проводку «события обновления», которая используется теми, кто должен записывать данные и знать об обновлениях.
Проверьте Шаблон наблюдателя для описания того, как реализовать уведомление для нескольких потребителей.Это может быть излишним для вашего случая, но полезным фоном.
РЕДАКТИРОВАТЬ:
Пока вы не получите два ядра ядра, обсуждение дизайна уведомления о событии кажется преждевременным.Если вы действительно не можете собрать свой собственный код с помощью / clr, тогда я не вижу, как ваш WPF-компонент может использоваться без отдельного процесса, что приводит к сложности взаимодействия и снижению производительности.Можете ли вы повторно реализовать эту функциональность WPF в собственном коде?
С другой стороны - если вы планируете создавать больше модов для этой кодовой базы, возможно, стоит подумать о том, насколько сложно было бы портировать нативный код для / clr-ready.Встроенный ассемблер не препятствует использованию / clr, но усложняет его, так как я уверен, что вы видели здесь .Я предполагаю, что это будет меньше работы, чем внешняя разводка кода WPF.
Путь наименьшего сопротивления на этом этапе может заключаться в репликации вашего компонента WPF в нативный код.Долгосрочные усилия по преобразованию вашего приложения в / clr могут обеспечить лучшую основу.Извините, простого ответа нет.