Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вылетает CopyMemory

255
06 февраля 2007 года
Dart Bobr
1.4K / / 09.04.2004
Трабла.
ContainerFileMapping = CreateFileMapping(NULL,NULL,PAGE_READWRITE,0,32*1024*1024, FileMappingName);
pContainerMapping = (LPTSTR)MapViewOfFile(ContainerFileMapping, FILE_MAP_ALL_ACCESS, 0, 0, 256);
потом
char TempDataDecrypted[16];
и в цикле такой код:
HANDLE TempHandle = (HANDLE)((int)pContainerMapping+pOffset);
CopyMemory(TempHandle,TempDataDecrypted,16 );
pOffset += 16;

короче функция копируует почему-то только перввыые 4Кб, дальше вываливается исключение.. причин для этого я не вижу - памяти ваыделю 32мб, записывает ровно 4Кб. и все.. Среда разработки Visual Studio 2005. Оптимизация компилятора отключена. В чем может быть трабла??
7.6K
06 февраля 2007 года
Darien
125 / / 15.01.2006
почему последний параметр 256 в MapVIew... ?

кстати
HANDLE TempHandle = (HANDLE)((int)pContainerMapping+pOffset);

зачем вообще так писать ? [] юзайте. указатели- это опасная штука.
255
07 февраля 2007 года
Dart Bobr
1.4K / / 09.04.2004
да, последний параметр имеет значение.. поставил 0 - все ок.. наверное просто выделилась 1 страница. но возникает вопрос - нафига тогда задавать при вызове CreateFileMapping максимальный размер образа файла??
247
08 февраля 2007 года
wanja
1.2K / / 03.02.2003
Ну, например, ты в одном файле хочешь промапить несколько независимых кусков.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог