[Win32] Нет доступа на запись в файле отображаемом в память22.09.09 07:56 Автор: Vedrus <Serokhvostov Anton> Статус: Member Отредактировано 22.09.09 08:11 Количество правок: 5
---
MapViewOfFile возвращает ошибку номер 5 (отказано в доступе). Если поменять флаг FILE_MAP_ALL_ACCESS на FILE_MAP_READ, то всё работает, все данные передаются в том виде, в каком мне надо (FILE_MAP_WRITE, как и следовало ожидать тоже не работает).
Как сделать так, чтобы был доступ к отображённому файлу также и на запись, а не только на чтение?
Ещё одна параллельная проблема возникла22.09.09 12:25 Автор: Vedrus <Serokhvostov Anton> Статус: Member
---
Функция завершается с ошибкой номер 5 (отказано в доступе). Опытным путём установил, что значение 49784 в последнем параметре функцию устраивает, а 49785 и тем более мои 65536 уже нет. С чем это связано?
а размер файла достаточен, чтобы при текущем dwContextIndex не вылететь за его границу?22.09.09 12:32 Автор: dl <Dmitry Leonov>
Нет, не достаточен :)). Прошу прощения. Глупая ошибка. PS. Спасибо, dl. У тебя самый удобный форум из тех, что я видел.22.09.09 12:39 Автор: Vedrus <Serokhvostov Anton> Статус: Member
[Win32] Если процесс дочерний, то зачем переоткрывать объект, если можно просто унаследовать хендл?22.09.09 08:31 Автор: amirul <Serge> Статус: The Elderman
Родительский процесс создаёт событие hEvent, передаёт этот хендл дочернему процессу, и далее ждёт, когда дочерний процесс установит его. Функция SetEvent в дочернем процессе возвращает FALSE. Вызов той же функции в родительском процессе даёт TRUE.
Числовое представление хэндла и в родительском и в дочернем процессах совпадают. Как обойти эту ситуацию? Как в дочернем процессе получить доступ к хэндлу родительского процесса?
что значит передает?22.09.09 11:25 Автор: dl <Dmitry Leonov>
Просто передает значение? Тогда объект нужно создавать как наследуемый. А проще создавать именованный, как и mapfile, не надо возиться с передачей значений.
Спасибо, вариант с именованными значениями мен подошёл.22.09.09 12:17 Автор: Vedrus <Serokhvostov Anton> Статус: Member
[win32] вот на этой ссылке парень говорит, что у него всё заработало, когда он security_attributes добавил. попробовал пойти его путём, но mapviewoffile по-прежнему жалуется, что у неё нет доступа.22.09.09 08:10 Автор: Vedrus <Serokhvostov Anton> Статус: Member Отредактировано 22.09.09 08:11 Количество правок: 1
Парень отсюда помог. решение оказалось простым: openfilemapping(file_map_all_access,...22.09.09 08:30 Автор: Vedrus <Serokhvostov Anton> Статус: Member