Если межпроцессное взаимодействие всегда будет осуществляться на одном и том же компьютере, именованные каналы - это путь, потому что они быстрее, чем другие варианты.
Однако, если есть хоть малейшая вероятность того, что в какой-то момент эта связь может произойти через границы машины, используйте подход сокетов. Для C ++ вам понадобится заголовочный файл winsock2.h. В C # используйте пространство имен System.Net.Sockets
.
Прошло много времени с тех пор, как я создал неуправляемый C ++, но я помню, что вам придется писать меньше кода C ++, если вы создадите сервер на стороне C ++, а затем используете TcpClient
класс на стороне C #.