AntiMember
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору bool _stdcall InitializeWinIo(); void _stdcall ShutdownWinIo(); PBYTE _stdcall MapPhysToLin(tagPhysStruct &PhysStruct); bool _stdcall UnmapPhysicalMemory(tagPhysStruct &PhysStruct); bool _stdcall GetPhysLong(PBYTE pbPhysAddr, PDWORD pdwPhysVal); bool _stdcall SetPhysLong(PBYTE pbPhysAddr, DWORD dwPhysVal); bool _stdcall GetPortVal(WORD wPortAddr, PDWORD pdwPortVal, BYTE bSize); bool _stdcall SetPortVal(WORD wPortAddr, DWORD dwPortVal, BYTE bSize); bool _stdcall InstallWinIoDriver(PWSTR pszWinIoDriverPath, bool IsDemandLoaded = false); bool _stdcall RemoveWinIoDriver(); void WINAPI PortOut(short int Port, char Data); void WINAPI PortWordOut(short int Port, short int Data); void WINAPI PortDWordOut(short int Port, int Data); char WINAPI PortIn(short int Port); short int WINAPI PortWordIn(short int Port); int WINAPI PortDWordIn(short int Port); void WINAPI SetPortBit(short int Port, char Bit); void WINAPI ClrPortBit(short int Port, char Bit); void WINAPI NotPortBit(short int Port, char Bit); short int WINAPI GetPortBit(short int Port, char Bit); short int WINAPI RightPortShift(short int Port, short int Val); short int WINAPI LeftPortShift(short int Port, short int Val); short int WINAPI IsDriverInstalled(); unsigned long _stdcall ReadPCIDev(BYTE Bus,BYTE Dev,BYTE Func,BYTE Reg) Т.е. функция отправляет в порт 0x0CF8 DWORD адреса, сформированного из Bus,Dev,Func,Reg и возвращает DWORD, считанный из порта 0x0CFC. http://wiki.osdev.org/PCI unsigned short _stdcall GetPCI_ATA(WORD (* pwPCIDEV)[512]) WORD (* pwPCIDEV)[512] указатель на массив из 512 слов (WORD). Функция сканирует устройства и возвращает количество найденных АТА устройств. По адресу из указателя pwPCIDEV для каждого найденного устройства записывается по 8 слов (WORD): Vendor, Device, BaseAddr0, AltAddr0, BaseAddr1, AltAddr1, DMAAddr, DMAAddr. |