Título: Problema con fichero y CreateFileMapping Publicado por: darsy2001 en 4 Diciembre 2015, 18:17 pm Hola. A ver si me podeis ayudar con un ejercicio de mapeo.
Quiero crear un .txt vacío y mapearlo para escribir mediente la vista. Mi problema es que no consigo ni si quiera que CreateFileMapping no devuelva error y creo que puede ser porque el tamaño del fichero es cero. ¿alguien sabe como arreglarlo? El código sería este: int _tmain(int argc, _TCHAR* argv[]) { HANDLE hf; // file handle HANDLE hFileMappingObject; LPVOID lpDirBase; char* Buffer; char frase[] = "Hola. Estoy escribiendo en tu fichero..."; hf = CreateFile("MiArchivo.txt", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); if (hf == INVALID_HANDLE_VALUE) { printf("Error en CreateFile\n"); return -1; } hFileMappingObject = CreateFileMapping(hf, NULL, PAGE_READWRITE, 0, 4096, NULL); if (hFileMappingObject == NULL) { printf("Error al crear el fichero mapeado\n"); return -1; } Aquí siempre devuelve error. Gracias!! Título: Re: Problema con fichero y CreateFileMapping Publicado por: Eternal Idol en 4 Diciembre 2015, 18:29 pm Te falta GENERIC_READ al llamar a CreateFile, por eso CreateFileMapping falla (le pedis READ y WRITE con PAGE_READWRITE y solo tenes WRITE) y GetLastError es 5 (ERROR_ACCESS_DENIED). Simpre mira los valores de retorno y el last error.
Título: Re: Problema con fichero y CreateFileMapping Publicado por: darsy2001 en 4 Diciembre 2015, 18:41 pm muchísimas gracias! Solucionado ;-)
Título: Re: Problema con fichero y CreateFileMapping Publicado por: Eternal Idol en 4 Diciembre 2015, 18:54 pm De nadas ::)
|