#define IOCTL_READ_PORT_UCHAR -1673519100 //CTL_CODE(40000, 0x801, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_WRITE_PORT_UCHAR -1673519096 //CTL_CODE(40000, 0x802, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_READ_PORT_USHORT -1673519092 //CTL_CODE(40000, 0x803, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_WRITE_PORT_USHORT -1673519088 //CTL_CODE(40000, 0x804, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_READ_PORT_ULONG -1673519084 //CTL_CODE(40000, 0x805, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_WRITE_PORT_ULONG -1673519080 //CTL_CODE(40000, 0x806, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_WINIO_MAPPHYSTOLIN -1673519076 #define IOCTL_WINIO_UNMAPPHYSADDR -1673519072 BOOL _stdcall IsXP64Bit(); int SystemVersion(); BOOL DisableWOW64(PVOID* oldValue); BOOL RevertWOW64(PVOID* oldValue); #pragma pack(push) #pragma pack(1) struct tagPhys32Struct { HANDLE PhysicalMemoryHandle; SIZE_T dwPhysMemSizeInBytes; PVOID pvPhysAddress; PVOID pvPhysMemLin; }; extern struct tagPhys32Struct Phys32Struct; #pragma pack(pop)