Undocumented functions of NTDLL

2OO1, 5 March


SYSTEM_INFORMATION_CLASS
SYSTEM_INFORMATION_CLASS

typedef enum _SYSTEM_INFORMATION_CLASS {

SystemBasicInformation, SystemProcessorInformation, SystemPerformanceInformation, SystemTimeOfDayInformation, SystemPathInformation, SystemProcessInformation, SystemCallCountInformation, SystemDeviceInformation, SystemProcessorPerformanceInformation, SystemFlagsInformation, SystemCallTimeInformation, SystemModuleInformation, SystemLocksInformation, SystemStackTraceInformation, SystemPagedPoolInformation, SystemNonPagedPoolInformation, SystemHandleInformation, SystemObjectInformation, SystemPageFileInformation, SystemVdmInstemulInformation, SystemVdmBopInformation, SystemFileCacheInformation, SystemPoolTagInformation, SystemInterruptInformation, SystemDpcBehaviorInformation, SystemFullMemoryInformation, SystemLoadGdiDriverInformation, SystemUnloadGdiDriverInformation, SystemTimeAdjustmentInformation, SystemSummaryMemoryInformation, SystemNextEventIdInformation, SystemEventIdsInformation, SystemCrashDumpInformation, SystemExceptionInformation, SystemCrashDumpStateInformation, SystemKernelDebuggerInformation, SystemContextSwitchInformation, SystemRegistryQuotaInformation, SystemExtendServiceTableInformation, SystemPrioritySeperation, SystemPlugPlayBusInformation, SystemDockInformation, SystemPowerInformation, SystemProcessorSpeedInformation, SystemCurrentTimeZoneInformation, SystemLookasideInformation } SYSTEM_INFORMATION_CLASS, *PSYSTEM_INFORMATION_CLASS;



Enumeration type SYSTEM_INFORMATION_CLASS defines information classes for a lot of system settings. This type is used with function NtQuerySystemInformation and NtSetSystemInformation. For detailed informations see descriptions of structures associated with information classes below.



Action
: Query
Buffer size
: 0x02C
Structure
: SYSTEM_BASIC_INFORMATION
Action
: Query
Buffer size
: 0x00C
Structure
: SYSTEM_PROCESSOR_INFORMATION
Action
: Query
Buffer size
: ???
Structure
: STATUS_NOT_IMPLEMENTED

System path is avaiable via structure KUSER_SHARED_DATA
Action
: Query
Buffer size
: 0x088+
Structure
: SYSTEM_PROCESS_INFORMATION
Action
: Query
Buffer size
: 0x018+
Structure
: SYSTEM_CALL_COUNT_INFORMATION
Action
: Query
Buffer size
: 0x030
Structure
: SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
Action
: Query
Buffer size
: 0x106+
Structure
: SYSTEM_MODULE_INFORMATION
Action
: Query
Buffer size
: 0x014+
Structure
: SYSTEM_HANDLE_INFORMATION
Action
: Query
Buffer size
: 0x038+
Structure
: SYSTEM_OBJECT_INFORMATION
Action
: Query
Buffer size
: 0x018+
Structure
: SYSTEM_PAGEFILE_INFORMATION
Action
: Query
Buffer size
: 0x00C
Structure
: SYSTEM_QUERY_TIME_ADJUST_INFORMATION

Action
: Set
Buffer size
: 0x008
Structure
: SYSTEM_SET_TIME_ADJUST_INFORMATION
Action
: Query
Buffer size
: 0x00C
Structure
: SYSTEM_REGISTRY_QUOTA_INFORMATION

Action
: Set
Buffer size
: 0x00C
Structure
: SYSTEM_REGISTRY_QUOTA_INFORMATION
Action
: Set
Buffer size
: 0x008
Structure
: SYSTEM_LOAD_IMAGE_INFORMATION
Requirements:
Library: ntdll.lib


See also:
NtQuerySystemInformation
NtSetSystemInformation