У меня есть 2 вопроса об использовании разделяемой памяти. Я использую CreateFileMapping для создания области общей памяти между двумя процессами.Проблемы, связанные с общей памятью с помощью CreateFileMapping и MapViewofFile
1) Я понимаю, что мне нужно вызвать CloseHandle для каждого дескриптора, полученного из вызова CreateFileMapping или OpenFileMapping, чтобы освободить память. Мой вопрос заключается в том, что все ручки закрываются должным образом и память освобождается Windows XP/7, если программы, использующие разделяемую память, выходят без вызова CloseHandle? IE - есть ли возможность утечки mem после того, как все процессы, использующие mem, были закрыты?
2) Я использую MapViewofFile, чтобы получить указатель на mem. В 1 экземпляре я предположил, что общая память всегда будет существовать в контексте метода. Поэтому я сохранил возвращаемое значение MapViewOfFile в качестве указателя и закрыл дескриптор mem, и я просто использовал указатель на общий mem (но все же блокировал его доступ). Является ли это безопасным, или я должен называть MapViewOfFile каждый раз, когда я обращаюсь к shared mem?
Спасибо,
Ian
Хорошо, спасибо. Это все. – Ian