Вылетает CopyMemory
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. Оптимизация компилятора отключена. В чем может быть трабла??
кстати
HANDLE TempHandle = (HANDLE)((int)pContainerMapping+pOffset);
зачем вообще так писать ? [] юзайте. указатели- это опасная штука.
да, последний параметр имеет значение.. поставил 0 - все ок.. наверное просто выделилась 1 страница. но возникает вопрос - нафига тогда задавать при вызове CreateFileMapping максимальный размер образа файла??
Ну, например, ты в одном файле хочешь промапить несколько независимых кусков.