![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| yngwie19 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 15.6.2008 Где: Новгород Репутация: нет Всего: нет |
Здравствуйте. Программа 13a.exe выделяет участок в физческой памяти из страничного файла и проецирует его на адресное пространство, после чего заполняет его целыми числами. Далее она запускает процесс 13b.exe, который открывает этот файл из физической памяти (найдя его по имени "MyFile") и также проецирует его на свое адресное пространство. И выводит значения 1 -го и последнего его элементов. Однако после запуска дочернего процесса прога вылетает. Посмотрите что не так.
Программа 13a.exe
Программа 13b.exe
|
||||
|
|||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
Где-то есть ошибка Добавлено через 1 минуту и 16 секунд я не вижу в коде ни одного if-a, почему вы не обрабатываете ошибки? все api ф-ии возвращают что-то в случае неудачи, после чего можно определить причину ошибки вызвав GetLastError |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
Я тоже не заметил
а можно узнать где вылетает конкретней? тут ptr[nSize/4-1] или в wsprintf или в ptr[0]? |
||||
|
|||||
| yngwie19 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 15.6.2008 Где: Новгород Репутация: нет Всего: нет |
||||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
||||
|
||||
| yngwie19 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 15.6.2008 Где: Новгород Репутация: нет Всего: нет |
Урааааа! Нашел. короче в программе 13b.exe в строке 9 в функции MapViewOfFile() второй параметр равен FILE_MAP_ALL_ACCESS, если вместо него поставить FILE_MAP_READ, то все работает. GetLastError() выдавала "Отказано в доступе". Кстати почему так?
|
|||
|
||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: -1 Всего: 14 |
потому, что на OpenFileMapping флаги такие-же, как на MapViewOfFile, а не такие, как на CreateFileMapping |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |