>>dwFileSize = GetFileSize(hFile, NULL);

try using the lpFileSizeHigh param (rather than leaving it NULL)

Code:
SetLastError(ERROR_SUCCESS);
dwFileSizelow=GetFileSize(hFile,&dwFileSizeHigh);
if(dwFileSizeLow == INVALID_FILE_SIZE)
    if(GetLastError()!= ERROR_SUCCESS)//or NO_ERROR