Прочитать файл с отображением в памяти несколько раз

Я пытаюсь написать приложение, которое открывает отображенный в памяти файл и читает его каждый раз, когда поступают новые данные из другого приложения.

Мой вопрос заключается в том, как мое приложение знает, когда поступают новые данные для чтения, или оно просто постоянно зацикливается и читается, и надеюсь, что когда-нибудь оно увидит новые данные?

Какой механизм Windows предоставляет для многократного чтения файла с отображенной памятью.

Спасибо,

1 ответ

Вы можете заставить программу, обновляющую отображенный в памяти файл, вызывать событие при записи новых данных, а другой программе подписаться на это событие. Затем он будет читать с карты памяти, когда получит уведомление о событии.

В MSDN есть пример проекта, который показывает, как это сделать.

Я создал библиотеку, которая позволяет осуществлять межпроцессное взаимодействие с использованием общего сопоставленного файла памяти, в котором два или более процессов могут читать и записывать байтовые массивы. Он предоставляет метод для записи и событие, которое вызывается каждый раз, когда доступны новые данные. Каждая операция выполняется в фоновом режиме, поэтому ваше приложение никогда не блокируется во время ожидания сообщений.

https://code.msdn.microsoft.com/windowsdesktop/Inter-process-communication-e96e94e7

Другие вопросы по тегам