## Doug Studio

### WinIoEx

WinIoExI provides a vertical solution for programmers to control hardware for Windows base operation system, and the architecture with WDM driver, dynamic library (*.dll) and sample utility, functions including IOPort, Memory, PCI Bus and CPU MSR.

//-----------------------------------------------------
//WinIoEx.
WINIOEX_API ERRORCODE WinIoEx_Init();
WINIOEX_API ERRORCODE WinIoEx_UnInit();
WINIOEX_API ERRORCODE WinIoEx_Available();
//-----------------------------------------------------
//IO PORT.
WINIOEX_API ERRORCODE WinIoEx_GetIoPortUchar(unsigned char _addr, unsigned char &_value);
WINIOEX_API ERRORCODE WinIoEx_SetIoPortUchar(unsigned char _addr, unsigned char _value);
WINIOEX_API ERRORCODE WinIoEx_GetIoPortUshort(unsigned short _addr, unsigned short &_value);
WINIOEX_API ERRORCODE WinIoEx_SetIoPortUshort(unsigned short _addr, unsigned short _value);
WINIOEX_API ERRORCODE WinIoEx_GetIoPortUlong(unsigned long _addr, unsigned long &_value);
WINIOEX_API ERRORCODE WinIoEx_SetIoPortUlong(unsigned long _addr, unsigned long _value);
//-----------------------------------------------------
//PCI Bus
WINIOEX_API ERRORCODE WinIoEx_GetPciBusUchar(PCI_DEVICE &_pci_device);
WINIOEX_API ERRORCODE WinIoEx_SetPciBusUchar(PCI_DEVICE _pci_device);
WINIOEX_API ERRORCODE WinIoEx_GetPciBusUlong(PCI_DEVICE &_pci_device);
WINIOEX_API ERRORCODE WinIoEx_SetPciBusUlong(PCI_DEVICE _pci_device);
//-----------------------------------------------------
//MEMORY
WINIOEX_API ERRORCODE WinIoEx_GetMemBlock(MEM_BLOCK &_mem_block);
WINIOEX_API ERRORCODE WinIoEx_SetMemBlock(MEM_BLOCK _mem_block);
//-----------------------------------------------------
//CPU_MSR
WINIOEX_API ERRORCODE WinIoEx_GetCpuMsr(CPU_REGS &_cpu_regs);
WINIOEX_API ERRORCODE WinIoEx_SetCpuMsr(CPU_REGS _cpu_regs);

MSN : dougchen850208@gmail.com
Email : dougchen850208@gmail.com

_displayNameOrEmail_ - _time_ - Remove

_text_