一款显示网速、系统利用的软件
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. //-----------------------------------------------------------------------------
  2. // Author : hiyohiyo
  3. // Mail : hiyohiyo@crystalmark.info
  4. // Web : http://openlibsys.org/
  5. // License : The modified BSD license
  6. //
  7. // Copyright 2007-2020 OpenLibSys.org. All rights reserved.
  8. //-----------------------------------------------------------------------------
  9. // for WinRing0 3.0.x
  10. #pragma once
  11. //-----------------------------------------------------------------------------
  12. //
  13. // Type Defines
  14. //
  15. //-----------------------------------------------------------------------------
  16. // DLL
  17. typedef DWORD (WINAPI *_GetDllStatus) ();
  18. typedef DWORD (WINAPI *_GetDllVersion) (PBYTE major, PBYTE minor, PBYTE revision, PBYTE release);
  19. typedef DWORD (WINAPI *_GetDriverVersion) (PBYTE major, PBYTE minor, PBYTE revision, PBYTE release);
  20. typedef DWORD (WINAPI *_GetDriverType) ();
  21. typedef BOOL (WINAPI *_InitializeOls) ();
  22. typedef VOID (WINAPI *_DeinitializeOls) ();
  23. // CPU
  24. typedef BOOL (WINAPI *_IsCpuid) ();
  25. typedef BOOL (WINAPI *_IsMsr) ();
  26. typedef BOOL (WINAPI *_IsTsc) ();
  27. typedef BOOL (WINAPI *_Hlt) ();
  28. typedef DWORD (WINAPI *_Rdmsr) (DWORD index, PDWORD eax, PDWORD edx);
  29. typedef DWORD (WINAPI *_Wrmsr) (DWORD index, DWORD eax, DWORD edx);
  30. typedef DWORD (WINAPI *_Rdpmc) (DWORD index, PDWORD eax, PDWORD edx);
  31. typedef DWORD (WINAPI *_Cpuid) (DWORD index, PDWORD eax, PDWORD ebx, PDWORD ecx, PDWORD edx);
  32. typedef DWORD (WINAPI *_Rdtsc) (PDWORD eax, PDWORD edx);
  33. typedef BOOL (WINAPI *_HltTx) (DWORD_PTR threadAffinityMask);
  34. typedef DWORD (WINAPI *_RdmsrTx) (DWORD index, PDWORD eax, PDWORD edx, DWORD_PTR threadAffinityMask);
  35. typedef DWORD (WINAPI *_WrmsrTx) (DWORD index, DWORD eax, DWORD edx, DWORD_PTR threadAffinityMask);
  36. typedef DWORD (WINAPI *_RdpmcTx) (DWORD index, PDWORD eax, PDWORD edx, DWORD_PTR threadAffinityMask);
  37. typedef DWORD (WINAPI *_CpuidTx) (DWORD index, PDWORD eax, PDWORD ebx, PDWORD ecx, PDWORD edx, DWORD_PTR threadAffinityMask);
  38. typedef DWORD (WINAPI *_RdtscTx) (PDWORD eax, PDWORD edx, DWORD_PTR threadAffinityMask);
  39. typedef BOOL (WINAPI *_HltPx) (DWORD_PTR processAffinityMask);
  40. typedef DWORD (WINAPI *_RdmsrPx) (DWORD index, PDWORD eax, PDWORD edx, DWORD_PTR processAffinityMask);
  41. typedef DWORD (WINAPI *_WrmsrPx) (DWORD index, DWORD eax, DWORD edx, DWORD_PTR processAffinityMask);
  42. typedef DWORD (WINAPI *_RdpmcPx) (DWORD index, PDWORD eax, PDWORD edx, DWORD_PTR processAffinityMask);
  43. typedef DWORD (WINAPI *_CpuidPx) (DWORD index, PDWORD eax, PDWORD ebx, PDWORD ecx, PDWORD edx, DWORD_PTR processAffinityMask);
  44. typedef DWORD (WINAPI *_RdtscPx) (PDWORD eax, PDWORD edx, DWORD_PTR processAffinityMask);
  45. // I/O
  46. typedef BYTE (WINAPI *_ReadIoPortByte) (WORD address);
  47. typedef WORD (WINAPI *_ReadIoPortWord) (WORD address);
  48. typedef DWORD (WINAPI *_ReadIoPortDword) (WORD address);
  49. typedef BOOL (WINAPI *_ReadIoPortByteEx) (WORD address, PBYTE value);
  50. typedef BOOL (WINAPI *_ReadIoPortWordEx) (WORD address, PWORD value);
  51. typedef BOOL (WINAPI *_ReadIoPortDwordEx) (WORD address, PDWORD value);
  52. typedef VOID (WINAPI *_WriteIoPortByte) (WORD address, BYTE value);
  53. typedef VOID (WINAPI *_WriteIoPortWord) (WORD address, WORD value);
  54. typedef VOID (WINAPI *_WriteIoPortDword) (WORD address, DWORD value);
  55. typedef BOOL (WINAPI *_WriteIoPortByteEx) (WORD address, BYTE value);
  56. typedef BOOL (WINAPI *_WriteIoPortWordEx) (WORD address, WORD value);
  57. typedef BOOL (WINAPI *_WriteIoPortDwordEx) (WORD address, DWORD value);
  58. // PCI
  59. typedef VOID (WINAPI *_SetPciMaxBusIndex) (BYTE max);
  60. typedef BYTE (WINAPI *_ReadPciConfigByte) (DWORD pciAddress, BYTE regAddress);
  61. typedef WORD (WINAPI *_ReadPciConfigWord) (DWORD pciAddress, BYTE regAddress);
  62. typedef DWORD (WINAPI *_ReadPciConfigDword) (DWORD pciAddress, BYTE regAddress);
  63. typedef BOOL (WINAPI *_ReadPciConfigByteEx) (DWORD pciAddress, DWORD regAddress, PBYTE value);
  64. typedef BOOL (WINAPI *_ReadPciConfigWordEx) (DWORD pciAddress, DWORD regAddress, PWORD value);
  65. typedef BOOL (WINAPI *_ReadPciConfigDwordEx) (DWORD pciAddress, DWORD regAddress, PDWORD value);
  66. typedef VOID (WINAPI *_WritePciConfigByte) (DWORD pciAddress, BYTE regAddress, BYTE value);
  67. typedef VOID (WINAPI *_WritePciConfigWord) (DWORD pciAddress, BYTE regAddress, WORD value);
  68. typedef VOID (WINAPI *_WritePciConfigDword) (DWORD pciAddress, BYTE regAddress, DWORD value);
  69. typedef BOOL (WINAPI *_WritePciConfigByteEx) (DWORD pciAddress, DWORD regAddress, BYTE value);
  70. typedef BOOL (WINAPI *_WritePciConfigWordEx) (DWORD pciAddress, DWORD regAddress, WORD value);
  71. typedef BOOL (WINAPI *_WritePciConfigDwordEx) (DWORD pciAddress, DWORD regAddress, DWORD value);
  72. typedef DWORD (WINAPI *_FindPciDeviceById) (WORD vendorId, WORD deviceId, BYTE index);
  73. typedef DWORD (WINAPI *_FindPciDeviceByClass) (BYTE baseClass, BYTE subClass, BYTE programIf, BYTE index);
  74. // Memory
  75. #ifdef _PHYSICAL_MEMORY_SUPPORT
  76. typedef DWORD (WINAPI *_ReadDmiMemory) (PBYTE buffer, DWORD count, DWORD unitSize);
  77. typedef DWORD (WINAPI *_ReadPhysicalMemory) (DWORD_PTR address, PBYTE buffer, DWORD count, DWORD unitSize);
  78. typedef DWORD (WINAPI *_WritePhysicalMemory) (DWORD_PTR address, PBYTE buffer, DWORD count, DWORD unitSize);
  79. #endif