Я хочу реализовать IPC с использованием именованной общей памяти.
Чтобы сделать это, одним из шагов является получение дескриптора объекта Mapping Memory, используя CreateFileMapping().
Я делаю это точно, как веб-сайт MSDN reccommends: http://msdn.microsoft.com/en-us/library/aa366551(v=VS.85).aspx:
hFileMappingHandle = CreateFileMapping
(
INVALID_HANDLE_VALUE, // use paging file
NULL, // default security
PAGE_READWRITE, // read/write access
0, // maximum object size (high-order DWORD)
256, // maximum object size (low-order DWORD)
"Global\\MyFileMappingObject" // name of mapping object
);
DWORD dwError = GetLastError();
Однако возвращенный дескриптор всегда 0x0, а возвращаемый системный код ошибки: 0x5 (Access Denied.)
- Только Доступ к именам памяти (не общий доступ к файлам).
- операционная система Windows 7 x64
- Доступные права администратора
- Разработанное приложение: приложение с 64-битным подключаемым модулем (. dll)
Есть ли у кого-то такой же опыт и способ его исправить? Я использую сайт MSDN в качестве ссылки, поэтому я не думаю, что в коде есть проблемы.