I was trying to create a new file using ctypes in python. The file gets created and I am able to write in to it. The problem starts when I try to read from this file. It gives me an invalid file handle error. Anyone might know why this is the case. The following is the code I used: from ctypes import * def CreateFile(file_name='',data=''): file_handler=windll.Kernel32.CreateFileA(file_name,0x10000000,0,None,4,0x80,None) pointer_to_written_data=c_int(0) windll.Kernel32.WriteFile(file_handler,data,len(data),byref(pointer_to_written_data),None) windll.Kernel32.CloseHandle(file_handler) return def ReadAFile(file_name=''): file_handler=windll.Kernel32.CreateFileA(file_name,0x10000000,0,None,4,0x80,None) data=create_string_buffer(4096) pointer_to_read_data=c_int(0) if(windll.Kernel32.ReadFile(file_handler,byref(data),1024,byref(pointer_to_read_data),None)==0): print "Failed" print windll.Kernel32.GetLastError() windll.Kernel32.CloseHandle(file_handler) print data.value return CreateFile("sample.txt","This is a test file!!") ReadAFile("sample.txt") Continue reading...