.Emanuele
Moderatore: Staff
.



Sto provando la strada del file mapping, espongo il problema:
Se mappo una zona di memoria di dimensione N mi ritrovo un file di dimensione N, se scrivo K Byte di dati viene scritto un file con N-K zeri.
Se mappo una zona di memoria di dimensione N<K non viene scritto nessun file.
Come posso superare il problema? Vorrei creare un file di dimensione pari alla dimensione dei dati che vorrei memorizzare.

HANDLE hFile = CreateFile("profilerfileB.log",
GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
DWORD dwFileMapSize = 8192;
HANDLE MappingHandle = CreateFileMapping(
hFile,
NULL,
PAGE_READWRITE,
0,
dwFileMapSize,
NULL
);
CloseHandle( hFile );
BaseAddress = MapViewOfFile(
MappingHandle,
FILE_MAP_WRITE,
0,
0,
0
);

Visitano il forum: Nessuno e 1 ospite