2015-06-16 8 views
0

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

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

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

Спасибо,

+0

Это не так, вы должны добавить его самостоятельно. MMF - это очень * низкоуровневый механизм взаимодействия, вы можете быть лучше с объектами ОС, которые построены из верхней части MMF и имеют функции, которые вы ищете. Как именованный канал. –

+0

Я понял. Спасибо. – vle

ответ

0

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

Существует образец проекта в MSDN, который показывает, как сделать это

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

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