Salve,
premetto che sono un principiante per quanto riguarda la programmmazione, scrivo in questo forum perchè non riesco a fare funzionare questo programma

codice:
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
WIN32_FIND_DATA FindData;
char * FileName="C:\\notepad.exe";

int main(){
HANDLE hFile; 	
hFile=FindFirstFile(FileName,&FindData);	
HANDLE MyFileHandle;
HANDLE MyFileMapped;
LPVOID StartingAddr;
if(!SetFileAttributes(FileName,FILE_ATTRIBUTE_NORMAL)){return -1;}
MyFileHandle = CreateFile(FileName,                           
                             GENERIC_READ | GENERIC_WRITE,
                             FILE_SHARE_WRITE,
                             NULL,
                             OPEN_EXISTING,
                             NULL,
							 NULL
                            );
MyFileMapped = CreateFileMapping(FileName,
								 NULL,
								 PAGE_READWRITE,
								 0,
								 FindData.nFileSizeLow,
								 NULL);
if(MyFileMapped == NULL){
	printf("Error: (%d).\n", GetLastError());
	return -1;}
StartingAddr = MapViewOfFile(MyFileMapped,
							 FILE_MAP_WRITE,
							 NULL,
							 NULL,
							 FindData.nFileSizeLow);



UnmapViewOfFile(StartingAddr);
CloseHandle(MyFileMapped);
CloseHandle(FileName);

return 0;
}
Se lo eseguo infatti mi restituisce sempre l'errore 6..
Come posso fare?