Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
2.8 KiB

  1. //
  2. // This was extracted from ntexapi.h because it
  3. // won't compile along with windows.h.
  4. //
  5. typedef struct _SYSTEM_REGISTRY_QUOTA_INFORMATION {
  6. ULONG RegistryQuotaAllowed;
  7. ULONG RegistryQuotaUsed;
  8. ULONG PagedPoolSize;
  9. } SYSTEM_REGISTRY_QUOTA_INFORMATION, *PSYSTEM_REGISTRY_QUOTA_INFORMATION;
  10. typedef struct _SYSTEM_POOL_ENTRY {
  11. BOOLEAN Allocated;
  12. BOOLEAN Spare0;
  13. USHORT AllocatorBackTraceIndex;
  14. ULONG Size;
  15. union {
  16. UCHAR Tag[4];
  17. ULONG TagUlong;
  18. PVOID ProcessChargedQuota;
  19. };
  20. } SYSTEM_POOL_ENTRY, *PSYSTEM_POOL_ENTRY;
  21. typedef struct _SYSTEM_POOL_INFORMATION {
  22. ULONG TotalSize;
  23. PVOID FirstEntry;
  24. USHORT EntryOverhead;
  25. BOOLEAN PoolTagPresent;
  26. BOOLEAN Spare0;
  27. ULONG NumberOfEntries;
  28. SYSTEM_POOL_ENTRY Entries[1];
  29. } SYSTEM_POOL_INFORMATION, *PSYSTEM_POOL_INFORMATION;
  30. typedef enum _SYSTEM_INFORMATION_CLASS {
  31. SystemBasicInformation,
  32. SystemProcessorInformation, // obsolete...delete
  33. SystemPerformanceInformation,
  34. SystemTimeOfDayInformation,
  35. SystemPathInformation,
  36. SystemProcessInformation,
  37. SystemCallCountInformation,
  38. SystemDeviceInformation,
  39. SystemProcessorPerformanceInformation,
  40. SystemFlagsInformation,
  41. SystemCallTimeInformation,
  42. SystemModuleInformation,
  43. SystemLocksInformation,
  44. SystemStackTraceInformation,
  45. SystemPagedPoolInformation,
  46. SystemNonPagedPoolInformation,
  47. SystemHandleInformation,
  48. SystemObjectInformation,
  49. SystemPageFileInformation,
  50. SystemVdmInstemulInformation,
  51. SystemVdmBopInformation,
  52. SystemFileCacheInformation,
  53. SystemPoolTagInformation,
  54. SystemInterruptInformation,
  55. SystemDpcBehaviorInformation,
  56. SystemFullMemoryInformation,
  57. SystemLoadGdiDriverInformation,
  58. SystemUnloadGdiDriverInformation,
  59. SystemTimeAdjustmentInformation,
  60. SystemSummaryMemoryInformation,
  61. SystemUnused1,
  62. SystemUnused2,
  63. SystemCrashDumpInformation,
  64. SystemExceptionInformation,
  65. SystemCrashDumpStateInformation,
  66. SystemKernelDebuggerInformation,
  67. SystemContextSwitchInformation,
  68. SystemRegistryQuotaInformation,
  69. SystemExtendServiceTableInformation,
  70. SystemPrioritySeperation,
  71. SystemUnused3,
  72. SystemUnused4,
  73. SystemUnused5,
  74. SystemUnused6,
  75. SystemCurrentTimeZoneInformation,
  76. SystemLookasideInformation,
  77. SystemTimeSlipNotification
  78. } SYSTEM_INFORMATION_CLASS;
  79. NTSYSAPI
  80. NTSTATUS
  81. NTAPI
  82. NtQuerySystemInformation (
  83. IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
  84. OUT PVOID SystemInformation,
  85. IN ULONG SystemInformationLength,
  86. OUT PULONG ReturnLength OPTIONAL
  87. );
  88. NTSYSAPI
  89. NTSTATUS
  90. NTAPI
  91. NtSetSystemInformation (
  92. IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
  93. IN PVOID SystemInformation,
  94. IN ULONG SystemInformationLength
  95. );