Committer:
sca8er
Date:
Mon Mar 05 04:47:20 2012 +0000
Revision:
2:5853bf44af9f

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sca8er 2:5853bf44af9f 1 /*
sca8er 2:5853bf44af9f 2 * ntapi.h
sca8er 2:5853bf44af9f 3 *
sca8er 2:5853bf44af9f 4 * Windows NT Native API
sca8er 2:5853bf44af9f 5 *
sca8er 2:5853bf44af9f 6 * Most structures in this file is obtained from Windows NT/2000 Native API
sca8er 2:5853bf44af9f 7 * Reference by Gary Nebbett, ISBN 1578701996.
sca8er 2:5853bf44af9f 8 *
sca8er 2:5853bf44af9f 9 * This file is part of the w32api package.
sca8er 2:5853bf44af9f 10 *
sca8er 2:5853bf44af9f 11 * Contributors:
sca8er 2:5853bf44af9f 12 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
sca8er 2:5853bf44af9f 13 *
sca8er 2:5853bf44af9f 14 * THIS SOFTWARE IS NOT COPYRIGHTED
sca8er 2:5853bf44af9f 15 *
sca8er 2:5853bf44af9f 16 * This source code is offered for use in the public domain. You may
sca8er 2:5853bf44af9f 17 * use, modify or distribute it freely.
sca8er 2:5853bf44af9f 18 *
sca8er 2:5853bf44af9f 19 * This code is distributed in the hope that it will be useful but
sca8er 2:5853bf44af9f 20 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
sca8er 2:5853bf44af9f 21 * DISCLAIMED. This includes but is not limited to warranties of
sca8er 2:5853bf44af9f 22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
sca8er 2:5853bf44af9f 23 *
sca8er 2:5853bf44af9f 24 */
sca8er 2:5853bf44af9f 25
sca8er 2:5853bf44af9f 26 #ifndef __NTAPI_H
sca8er 2:5853bf44af9f 27 #define __NTAPI_H
sca8er 2:5853bf44af9f 28
sca8er 2:5853bf44af9f 29 #if __GNUC__ >= 3
sca8er 2:5853bf44af9f 30 #pragma GCC system_header
sca8er 2:5853bf44af9f 31 #endif
sca8er 2:5853bf44af9f 32
sca8er 2:5853bf44af9f 33 #ifdef __cplusplus
sca8er 2:5853bf44af9f 34 extern "C" {
sca8er 2:5853bf44af9f 35 #endif
sca8er 2:5853bf44af9f 36
sca8er 2:5853bf44af9f 37 #include <stdarg.h>
sca8er 2:5853bf44af9f 38 #include <winbase.h>
sca8er 2:5853bf44af9f 39 #include "ntddk.h"
sca8er 2:5853bf44af9f 40 #include "ntpoapi.h"
sca8er 2:5853bf44af9f 41
sca8er 2:5853bf44af9f 42 #pragma pack(push,4)
sca8er 2:5853bf44af9f 43
sca8er 2:5853bf44af9f 44 typedef struct _PEB *PPEB;
sca8er 2:5853bf44af9f 45
sca8er 2:5853bf44af9f 46 /* FIXME: Unknown definitions */
sca8er 2:5853bf44af9f 47 typedef PVOID POBJECT_TYPE_LIST;
sca8er 2:5853bf44af9f 48 typedef PVOID PEXECUTION_STATE;
sca8er 2:5853bf44af9f 49 typedef PVOID PLANGID;
sca8er 2:5853bf44af9f 50
sca8er 2:5853bf44af9f 51 #ifndef NtCurrentProcess
sca8er 2:5853bf44af9f 52 #define NtCurrentProcess() ((HANDLE)0xFFFFFFFF)
sca8er 2:5853bf44af9f 53 #endif /* NtCurrentProcess */
sca8er 2:5853bf44af9f 54 #ifndef NtCurrentThread
sca8er 2:5853bf44af9f 55 #define NtCurrentThread() ((HANDLE)0xFFFFFFFE)
sca8er 2:5853bf44af9f 56 #endif /* NtCurrentThread */
sca8er 2:5853bf44af9f 57
sca8er 2:5853bf44af9f 58 /* System information and control */
sca8er 2:5853bf44af9f 59
sca8er 2:5853bf44af9f 60 typedef enum _SYSTEM_INFORMATION_CLASS {
sca8er 2:5853bf44af9f 61 SystemInformationClassMin = 0,
sca8er 2:5853bf44af9f 62 SystemBasicInformation = 0,
sca8er 2:5853bf44af9f 63 SystemProcessorInformation = 1,
sca8er 2:5853bf44af9f 64 SystemPerformanceInformation = 2,
sca8er 2:5853bf44af9f 65 SystemTimeOfDayInformation = 3,
sca8er 2:5853bf44af9f 66 SystemPathInformation = 4,
sca8er 2:5853bf44af9f 67 SystemNotImplemented1 = 4,
sca8er 2:5853bf44af9f 68 SystemProcessInformation = 5,
sca8er 2:5853bf44af9f 69 SystemProcessesAndThreadsInformation = 5,
sca8er 2:5853bf44af9f 70 SystemCallCountInfoInformation = 6,
sca8er 2:5853bf44af9f 71 SystemCallCounts = 6,
sca8er 2:5853bf44af9f 72 SystemDeviceInformation = 7,
sca8er 2:5853bf44af9f 73 SystemConfigurationInformation = 7,
sca8er 2:5853bf44af9f 74 SystemProcessorPerformanceInformation = 8,
sca8er 2:5853bf44af9f 75 SystemProcessorTimes = 8,
sca8er 2:5853bf44af9f 76 SystemFlagsInformation = 9,
sca8er 2:5853bf44af9f 77 SystemGlobalFlag = 9,
sca8er 2:5853bf44af9f 78 SystemCallTimeInformation = 10,
sca8er 2:5853bf44af9f 79 SystemNotImplemented2 = 10,
sca8er 2:5853bf44af9f 80 SystemModuleInformation = 11,
sca8er 2:5853bf44af9f 81 SystemLocksInformation = 12,
sca8er 2:5853bf44af9f 82 SystemLockInformation = 12,
sca8er 2:5853bf44af9f 83 SystemStackTraceInformation = 13,
sca8er 2:5853bf44af9f 84 SystemNotImplemented3 = 13,
sca8er 2:5853bf44af9f 85 SystemPagedPoolInformation = 14,
sca8er 2:5853bf44af9f 86 SystemNotImplemented4 = 14,
sca8er 2:5853bf44af9f 87 SystemNonPagedPoolInformation = 15,
sca8er 2:5853bf44af9f 88 SystemNotImplemented5 = 15,
sca8er 2:5853bf44af9f 89 SystemHandleInformation = 16,
sca8er 2:5853bf44af9f 90 SystemObjectInformation = 17,
sca8er 2:5853bf44af9f 91 SystemPageFileInformation = 18,
sca8er 2:5853bf44af9f 92 SystemPagefileInformation = 18,
sca8er 2:5853bf44af9f 93 SystemVdmInstemulInformation = 19,
sca8er 2:5853bf44af9f 94 SystemInstructionEmulationCounts = 19,
sca8er 2:5853bf44af9f 95 SystemVdmBopInformation = 20,
sca8er 2:5853bf44af9f 96 SystemInvalidInfoClass1 = 20,
sca8er 2:5853bf44af9f 97 SystemFileCacheInformation = 21,
sca8er 2:5853bf44af9f 98 SystemCacheInformation = 21,
sca8er 2:5853bf44af9f 99 SystemPoolTagInformation = 22,
sca8er 2:5853bf44af9f 100 SystemInterruptInformation = 23,
sca8er 2:5853bf44af9f 101 SystemProcessorStatistics = 23,
sca8er 2:5853bf44af9f 102 SystemDpcBehaviourInformation = 24,
sca8er 2:5853bf44af9f 103 SystemDpcInformation = 24,
sca8er 2:5853bf44af9f 104 SystemFullMemoryInformation = 25,
sca8er 2:5853bf44af9f 105 SystemNotImplemented6 = 25,
sca8er 2:5853bf44af9f 106 SystemLoadImage = 26,
sca8er 2:5853bf44af9f 107 SystemUnloadImage = 27,
sca8er 2:5853bf44af9f 108 SystemTimeAdjustmentInformation = 28,
sca8er 2:5853bf44af9f 109 SystemTimeAdjustment = 28,
sca8er 2:5853bf44af9f 110 SystemSummaryMemoryInformation = 29,
sca8er 2:5853bf44af9f 111 SystemNotImplemented7 = 29,
sca8er 2:5853bf44af9f 112 SystemNextEventIdInformation = 30,
sca8er 2:5853bf44af9f 113 SystemNotImplemented8 = 30,
sca8er 2:5853bf44af9f 114 SystemEventIdsInformation = 31,
sca8er 2:5853bf44af9f 115 SystemNotImplemented9 = 31,
sca8er 2:5853bf44af9f 116 SystemCrashDumpInformation = 32,
sca8er 2:5853bf44af9f 117 SystemExceptionInformation = 33,
sca8er 2:5853bf44af9f 118 SystemCrashDumpStateInformation = 34,
sca8er 2:5853bf44af9f 119 SystemKernelDebuggerInformation = 35,
sca8er 2:5853bf44af9f 120 SystemContextSwitchInformation = 36,
sca8er 2:5853bf44af9f 121 SystemRegistryQuotaInformation = 37,
sca8er 2:5853bf44af9f 122 SystemLoadAndCallImage = 38,
sca8er 2:5853bf44af9f 123 SystemPrioritySeparation = 39,
sca8er 2:5853bf44af9f 124 SystemPlugPlayBusInformation = 40,
sca8er 2:5853bf44af9f 125 SystemNotImplemented10 = 40,
sca8er 2:5853bf44af9f 126 SystemDockInformation = 41,
sca8er 2:5853bf44af9f 127 SystemNotImplemented11 = 41,
sca8er 2:5853bf44af9f 128 /* SystemPowerInformation = 42, Conflicts with POWER_INFORMATION_LEVEL 1 */
sca8er 2:5853bf44af9f 129 SystemInvalidInfoClass2 = 42,
sca8er 2:5853bf44af9f 130 SystemProcessorSpeedInformation = 43,
sca8er 2:5853bf44af9f 131 SystemInvalidInfoClass3 = 43,
sca8er 2:5853bf44af9f 132 SystemCurrentTimeZoneInformation = 44,
sca8er 2:5853bf44af9f 133 SystemTimeZoneInformation = 44,
sca8er 2:5853bf44af9f 134 SystemLookasideInformation = 45,
sca8er 2:5853bf44af9f 135 SystemSetTimeSlipEvent = 46,
sca8er 2:5853bf44af9f 136 SystemCreateSession = 47,
sca8er 2:5853bf44af9f 137 SystemDeleteSession = 48,
sca8er 2:5853bf44af9f 138 SystemInvalidInfoClass4 = 49,
sca8er 2:5853bf44af9f 139 SystemRangeStartInformation = 50,
sca8er 2:5853bf44af9f 140 SystemVerifierInformation = 51,
sca8er 2:5853bf44af9f 141 SystemAddVerifier = 52,
sca8er 2:5853bf44af9f 142 SystemSessionProcessesInformation = 53,
sca8er 2:5853bf44af9f 143 SystemInformationClassMax
sca8er 2:5853bf44af9f 144 } SYSTEM_INFORMATION_CLASS;
sca8er 2:5853bf44af9f 145
sca8er 2:5853bf44af9f 146 typedef struct _SYSTEM_BASIC_INFORMATION {
sca8er 2:5853bf44af9f 147 ULONG Unknown;
sca8er 2:5853bf44af9f 148 ULONG MaximumIncrement;
sca8er 2:5853bf44af9f 149 ULONG PhysicalPageSize;
sca8er 2:5853bf44af9f 150 ULONG NumberOfPhysicalPages;
sca8er 2:5853bf44af9f 151 ULONG LowestPhysicalPage;
sca8er 2:5853bf44af9f 152 ULONG HighestPhysicalPage;
sca8er 2:5853bf44af9f 153 ULONG AllocationGranularity;
sca8er 2:5853bf44af9f 154 ULONG LowestUserAddress;
sca8er 2:5853bf44af9f 155 ULONG HighestUserAddress;
sca8er 2:5853bf44af9f 156 ULONG ActiveProcessors;
sca8er 2:5853bf44af9f 157 UCHAR NumberProcessors;
sca8er 2:5853bf44af9f 158 } SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;
sca8er 2:5853bf44af9f 159
sca8er 2:5853bf44af9f 160 typedef struct _SYSTEM_PROCESSOR_INFORMATION {
sca8er 2:5853bf44af9f 161 USHORT ProcessorArchitecture;
sca8er 2:5853bf44af9f 162 USHORT ProcessorLevel;
sca8er 2:5853bf44af9f 163 USHORT ProcessorRevision;
sca8er 2:5853bf44af9f 164 USHORT Unknown;
sca8er 2:5853bf44af9f 165 ULONG FeatureBits;
sca8er 2:5853bf44af9f 166 } SYSTEM_PROCESSOR_INFORMATION, *PSYSTEM_PROCESSOR_INFORMATION;
sca8er 2:5853bf44af9f 167
sca8er 2:5853bf44af9f 168 typedef struct _SYSTEM_PERFORMANCE_INFORMATION {
sca8er 2:5853bf44af9f 169 LARGE_INTEGER IdleTime;
sca8er 2:5853bf44af9f 170 LARGE_INTEGER ReadTransferCount;
sca8er 2:5853bf44af9f 171 LARGE_INTEGER WriteTransferCount;
sca8er 2:5853bf44af9f 172 LARGE_INTEGER OtherTransferCount;
sca8er 2:5853bf44af9f 173 ULONG ReadOperationCount;
sca8er 2:5853bf44af9f 174 ULONG WriteOperationCount;
sca8er 2:5853bf44af9f 175 ULONG OtherOperationCount;
sca8er 2:5853bf44af9f 176 ULONG AvailablePages;
sca8er 2:5853bf44af9f 177 ULONG TotalCommittedPages;
sca8er 2:5853bf44af9f 178 ULONG TotalCommitLimit;
sca8er 2:5853bf44af9f 179 ULONG PeakCommitment;
sca8er 2:5853bf44af9f 180 ULONG PageFaults;
sca8er 2:5853bf44af9f 181 ULONG WriteCopyFaults;
sca8er 2:5853bf44af9f 182 ULONG TransitionFaults;
sca8er 2:5853bf44af9f 183 ULONG CacheTransitionFaults;
sca8er 2:5853bf44af9f 184 ULONG DemandZeroFaults;
sca8er 2:5853bf44af9f 185 ULONG PagesRead;
sca8er 2:5853bf44af9f 186 ULONG PageReadIos;
sca8er 2:5853bf44af9f 187 ULONG CacheReads;
sca8er 2:5853bf44af9f 188 ULONG CacheIos;
sca8er 2:5853bf44af9f 189 ULONG PagefilePagesWritten;
sca8er 2:5853bf44af9f 190 ULONG PagefilePageWriteIos;
sca8er 2:5853bf44af9f 191 ULONG MappedFilePagesWritten;
sca8er 2:5853bf44af9f 192 ULONG MappedFilePageWriteIos;
sca8er 2:5853bf44af9f 193 ULONG PagedPoolUsage;
sca8er 2:5853bf44af9f 194 ULONG NonPagedPoolUsage;
sca8er 2:5853bf44af9f 195 ULONG PagedPoolAllocs;
sca8er 2:5853bf44af9f 196 ULONG PagedPoolFrees;
sca8er 2:5853bf44af9f 197 ULONG NonPagedPoolAllocs;
sca8er 2:5853bf44af9f 198 ULONG NonPagedPoolFrees;
sca8er 2:5853bf44af9f 199 ULONG TotalFreeSystemPtes;
sca8er 2:5853bf44af9f 200 ULONG SystemCodePage;
sca8er 2:5853bf44af9f 201 ULONG TotalSystemDriverPages;
sca8er 2:5853bf44af9f 202 ULONG TotalSystemCodePages;
sca8er 2:5853bf44af9f 203 ULONG SmallNonPagedLookasideListAllocateHits;
sca8er 2:5853bf44af9f 204 ULONG SmallPagedLookasideListAllocateHits;
sca8er 2:5853bf44af9f 205 ULONG Reserved3;
sca8er 2:5853bf44af9f 206 ULONG MmSystemCachePage;
sca8er 2:5853bf44af9f 207 ULONG PagedPoolPage;
sca8er 2:5853bf44af9f 208 ULONG SystemDriverPage;
sca8er 2:5853bf44af9f 209 ULONG FastReadNoWait;
sca8er 2:5853bf44af9f 210 ULONG FastReadWait;
sca8er 2:5853bf44af9f 211 ULONG FastReadResourceMiss;
sca8er 2:5853bf44af9f 212 ULONG FastReadNotPossible;
sca8er 2:5853bf44af9f 213 ULONG FastMdlReadNoWait;
sca8er 2:5853bf44af9f 214 ULONG FastMdlReadWait;
sca8er 2:5853bf44af9f 215 ULONG FastMdlReadResourceMiss;
sca8er 2:5853bf44af9f 216 ULONG FastMdlReadNotPossible;
sca8er 2:5853bf44af9f 217 ULONG MapDataNoWait;
sca8er 2:5853bf44af9f 218 ULONG MapDataWait;
sca8er 2:5853bf44af9f 219 ULONG MapDataNoWaitMiss;
sca8er 2:5853bf44af9f 220 ULONG MapDataWaitMiss;
sca8er 2:5853bf44af9f 221 ULONG PinMappedDataCount;
sca8er 2:5853bf44af9f 222 ULONG PinReadNoWait;
sca8er 2:5853bf44af9f 223 ULONG PinReadWait;
sca8er 2:5853bf44af9f 224 ULONG PinReadNoWaitMiss;
sca8er 2:5853bf44af9f 225 ULONG PinReadWaitMiss;
sca8er 2:5853bf44af9f 226 ULONG CopyReadNoWait;
sca8er 2:5853bf44af9f 227 ULONG CopyReadWait;
sca8er 2:5853bf44af9f 228 ULONG CopyReadNoWaitMiss;
sca8er 2:5853bf44af9f 229 ULONG CopyReadWaitMiss;
sca8er 2:5853bf44af9f 230 ULONG MdlReadNoWait;
sca8er 2:5853bf44af9f 231 ULONG MdlReadWait;
sca8er 2:5853bf44af9f 232 ULONG MdlReadNoWaitMiss;
sca8er 2:5853bf44af9f 233 ULONG MdlReadWaitMiss;
sca8er 2:5853bf44af9f 234 ULONG ReadAheadIos;
sca8er 2:5853bf44af9f 235 ULONG LazyWriteIos;
sca8er 2:5853bf44af9f 236 ULONG LazyWritePages;
sca8er 2:5853bf44af9f 237 ULONG DataFlushes;
sca8er 2:5853bf44af9f 238 ULONG DataPages;
sca8er 2:5853bf44af9f 239 ULONG ContextSwitches;
sca8er 2:5853bf44af9f 240 ULONG FirstLevelTbFills;
sca8er 2:5853bf44af9f 241 ULONG SecondLevelTbFills;
sca8er 2:5853bf44af9f 242 ULONG SystemCalls;
sca8er 2:5853bf44af9f 243 } SYSTEM_PERFORMANCE_INFORMATION, *PSYSTEM_PERFORMANCE_INFORMATION;
sca8er 2:5853bf44af9f 244
sca8er 2:5853bf44af9f 245 typedef struct _SYSTEM_TIME_OF_DAY_INFORMATION {
sca8er 2:5853bf44af9f 246 LARGE_INTEGER BootTime;
sca8er 2:5853bf44af9f 247 LARGE_INTEGER CurrentTime;
sca8er 2:5853bf44af9f 248 LARGE_INTEGER TimeZoneBias;
sca8er 2:5853bf44af9f 249 ULONG CurrentTimeZoneId;
sca8er 2:5853bf44af9f 250 } SYSTEM_TIME_OF_DAY_INFORMATION, *PSYSTEM_TIME_OF_DAY_INFORMATION;
sca8er 2:5853bf44af9f 251
sca8er 2:5853bf44af9f 252 typedef struct _VM_COUNTERS {
sca8er 2:5853bf44af9f 253 ULONG PeakVirtualSize;
sca8er 2:5853bf44af9f 254 ULONG VirtualSize;
sca8er 2:5853bf44af9f 255 ULONG PageFaultCount;
sca8er 2:5853bf44af9f 256 ULONG PeakWorkingSetSize;
sca8er 2:5853bf44af9f 257 ULONG WorkingSetSize;
sca8er 2:5853bf44af9f 258 ULONG QuotaPeakPagedPoolUsage;
sca8er 2:5853bf44af9f 259 ULONG QuotaPagedPoolUsage;
sca8er 2:5853bf44af9f 260 ULONG QuotaPeakNonPagedPoolUsage;
sca8er 2:5853bf44af9f 261 ULONG QuotaNonPagedPoolUsage;
sca8er 2:5853bf44af9f 262 ULONG PagefileUsage;
sca8er 2:5853bf44af9f 263 ULONG PeakPagefileUsage;
sca8er 2:5853bf44af9f 264 } VM_COUNTERS;
sca8er 2:5853bf44af9f 265
sca8er 2:5853bf44af9f 266 typedef enum _THREAD_STATE {
sca8er 2:5853bf44af9f 267 StateInitialized,
sca8er 2:5853bf44af9f 268 StateReady,
sca8er 2:5853bf44af9f 269 StateRunning,
sca8er 2:5853bf44af9f 270 StateStandby,
sca8er 2:5853bf44af9f 271 StateTerminated,
sca8er 2:5853bf44af9f 272 StateWait,
sca8er 2:5853bf44af9f 273 StateTransition,
sca8er 2:5853bf44af9f 274 StateUnknown
sca8er 2:5853bf44af9f 275 } THREAD_STATE;
sca8er 2:5853bf44af9f 276
sca8er 2:5853bf44af9f 277 typedef struct _SYSTEM_THREADS {
sca8er 2:5853bf44af9f 278 LARGE_INTEGER KernelTime;
sca8er 2:5853bf44af9f 279 LARGE_INTEGER UserTime;
sca8er 2:5853bf44af9f 280 LARGE_INTEGER CreateTime;
sca8er 2:5853bf44af9f 281 ULONG WaitTime;
sca8er 2:5853bf44af9f 282 PVOID StartAddress;
sca8er 2:5853bf44af9f 283 CLIENT_ID ClientId;
sca8er 2:5853bf44af9f 284 KPRIORITY Priority;
sca8er 2:5853bf44af9f 285 KPRIORITY BasePriority;
sca8er 2:5853bf44af9f 286 ULONG ContextSwitchCount;
sca8er 2:5853bf44af9f 287 THREAD_STATE State;
sca8er 2:5853bf44af9f 288 KWAIT_REASON WaitReason;
sca8er 2:5853bf44af9f 289 } SYSTEM_THREADS, *PSYSTEM_THREADS;
sca8er 2:5853bf44af9f 290
sca8er 2:5853bf44af9f 291 typedef struct _SYSTEM_PROCESSES {
sca8er 2:5853bf44af9f 292 ULONG NextEntryDelta;
sca8er 2:5853bf44af9f 293 ULONG ThreadCount;
sca8er 2:5853bf44af9f 294 ULONG Reserved1[6];
sca8er 2:5853bf44af9f 295 LARGE_INTEGER CreateTime;
sca8er 2:5853bf44af9f 296 LARGE_INTEGER UserTime;
sca8er 2:5853bf44af9f 297 LARGE_INTEGER KernelTime;
sca8er 2:5853bf44af9f 298 UNICODE_STRING ProcessName;
sca8er 2:5853bf44af9f 299 KPRIORITY BasePriority;
sca8er 2:5853bf44af9f 300 ULONG ProcessId;
sca8er 2:5853bf44af9f 301 ULONG InheritedFromProcessId;
sca8er 2:5853bf44af9f 302 ULONG HandleCount;
sca8er 2:5853bf44af9f 303 ULONG Reserved2[2];
sca8er 2:5853bf44af9f 304 VM_COUNTERS VmCounters;
sca8er 2:5853bf44af9f 305 IO_COUNTERS IoCounters;
sca8er 2:5853bf44af9f 306 SYSTEM_THREADS Threads[1];
sca8er 2:5853bf44af9f 307 } SYSTEM_PROCESSES, *PSYSTEM_PROCESSES;
sca8er 2:5853bf44af9f 308
sca8er 2:5853bf44af9f 309 typedef struct _SYSTEM_CALLS_INFORMATION {
sca8er 2:5853bf44af9f 310 ULONG Size;
sca8er 2:5853bf44af9f 311 ULONG NumberOfDescriptorTables;
sca8er 2:5853bf44af9f 312 ULONG NumberOfRoutinesInTable[1];
sca8er 2:5853bf44af9f 313 ULONG CallCounts[ANYSIZE_ARRAY];
sca8er 2:5853bf44af9f 314 } SYSTEM_CALLS_INFORMATION, *PSYSTEM_CALLS_INFORMATION;
sca8er 2:5853bf44af9f 315
sca8er 2:5853bf44af9f 316 typedef struct _SYSTEM_CONFIGURATION_INFORMATION {
sca8er 2:5853bf44af9f 317 ULONG DiskCount;
sca8er 2:5853bf44af9f 318 ULONG FloppyCount;
sca8er 2:5853bf44af9f 319 ULONG CdRomCount;
sca8er 2:5853bf44af9f 320 ULONG TapeCount;
sca8er 2:5853bf44af9f 321 ULONG SerialCount;
sca8er 2:5853bf44af9f 322 ULONG ParallelCount;
sca8er 2:5853bf44af9f 323 } SYSTEM_CONFIGURATION_INFORMATION, *PSYSTEM_CONFIGURATION_INFORMATION;
sca8er 2:5853bf44af9f 324
sca8er 2:5853bf44af9f 325 typedef struct _SYSTEM_PROCESSOR_TIMES {
sca8er 2:5853bf44af9f 326 LARGE_INTEGER IdleTime;
sca8er 2:5853bf44af9f 327 LARGE_INTEGER KernelTime;
sca8er 2:5853bf44af9f 328 LARGE_INTEGER UserTime;
sca8er 2:5853bf44af9f 329 LARGE_INTEGER DpcTime;
sca8er 2:5853bf44af9f 330 LARGE_INTEGER InterruptTime;
sca8er 2:5853bf44af9f 331 ULONG InterruptCount;
sca8er 2:5853bf44af9f 332 } SYSTEM_PROCESSOR_TIMES, *PSYSTEM_PROCESSOR_TIMES;
sca8er 2:5853bf44af9f 333
sca8er 2:5853bf44af9f 334 /* SYSTEM_GLOBAL_FLAG.GlobalFlag constants */
sca8er 2:5853bf44af9f 335 #define FLG_STOP_ON_EXCEPTION 0x00000001
sca8er 2:5853bf44af9f 336 #define FLG_SHOW_LDR_SNAPS 0x00000002
sca8er 2:5853bf44af9f 337 #define FLG_DEBUG_INITIAL_COMMAND 0x00000004
sca8er 2:5853bf44af9f 338 #define FLG_STOP_ON_HUNG_GUI 0x00000008
sca8er 2:5853bf44af9f 339 #define FLG_HEAP_ENABLE_TAIL_CHECK 0x00000010
sca8er 2:5853bf44af9f 340 #define FLG_HEAP_ENABLE_FREE_CHECK 0x00000020
sca8er 2:5853bf44af9f 341 #define FLG_HEAP_VALIDATE_PARAMETERS 0x00000040
sca8er 2:5853bf44af9f 342 #define FLG_HEAP_VALIDATE_ALL 0x00000080
sca8er 2:5853bf44af9f 343 #define FLG_POOL_ENABLE_TAIL_CHECK 0x00000100
sca8er 2:5853bf44af9f 344 #define FLG_POOL_ENABLE_FREE_CHECK 0x00000200
sca8er 2:5853bf44af9f 345 #define FLG_POOL_ENABLE_TAGGING 0x00000400
sca8er 2:5853bf44af9f 346 #define FLG_HEAP_ENABLE_TAGGING 0x00000800
sca8er 2:5853bf44af9f 347 #define FLG_USER_STACK_TRACE_DB 0x00001000
sca8er 2:5853bf44af9f 348 #define FLG_KERNEL_STACK_TRACE_DB 0x00002000
sca8er 2:5853bf44af9f 349 #define FLG_MAINTAIN_OBJECT_TYPELIST 0x00004000
sca8er 2:5853bf44af9f 350 #define FLG_HEAP_ENABLE_TAG_BY_DLL 0x00008000
sca8er 2:5853bf44af9f 351 #define FLG_IGNORE_DEBUG_PRIV 0x00010000
sca8er 2:5853bf44af9f 352 #define FLG_ENABLE_CSRDEBUG 0x00020000
sca8er 2:5853bf44af9f 353 #define FLG_ENABLE_KDEBUG_SYMBOL_LOAD 0x00040000
sca8er 2:5853bf44af9f 354 #define FLG_DISABLE_PAGE_KERNEL_STACKS 0x00080000
sca8er 2:5853bf44af9f 355 #define FLG_HEAP_ENABLE_CALL_TRACING 0x00100000
sca8er 2:5853bf44af9f 356 #define FLG_HEAP_DISABLE_COALESCING 0x00200000
sca8er 2:5853bf44af9f 357 #define FLG_ENABLE_CLOSE_EXCEPTIONS 0x00400000
sca8er 2:5853bf44af9f 358 #define FLG_ENABLE_EXCEPTION_LOGGING 0x00800000
sca8er 2:5853bf44af9f 359 #define FLG_ENABLE_DBGPRINT_BUFFERING 0x08000000
sca8er 2:5853bf44af9f 360
sca8er 2:5853bf44af9f 361 typedef struct _SYSTEM_GLOBAL_FLAG {
sca8er 2:5853bf44af9f 362 ULONG GlobalFlag;
sca8er 2:5853bf44af9f 363 } SYSTEM_GLOBAL_FLAG, *PSYSTEM_GLOBAL_FLAG;
sca8er 2:5853bf44af9f 364
sca8er 2:5853bf44af9f 365 typedef struct _SYSTEM_MODULE_INFORMATION_ENTRY {
sca8er 2:5853bf44af9f 366 ULONG Unknown1;
sca8er 2:5853bf44af9f 367 ULONG Unknown2;
sca8er 2:5853bf44af9f 368 PVOID Base;
sca8er 2:5853bf44af9f 369 ULONG Size;
sca8er 2:5853bf44af9f 370 ULONG Flags;
sca8er 2:5853bf44af9f 371 USHORT Index;
sca8er 2:5853bf44af9f 372 /* Length of module name not including the path, this
sca8er 2:5853bf44af9f 373 field contains valid value only for NTOSKRNL module */
sca8er 2:5853bf44af9f 374 USHORT NameLength;
sca8er 2:5853bf44af9f 375 USHORT LoadCount;
sca8er 2:5853bf44af9f 376 USHORT PathLength;
sca8er 2:5853bf44af9f 377 CHAR ImageName[256];
sca8er 2:5853bf44af9f 378 } SYSTEM_MODULE_INFORMATION_ENTRY, *PSYSTEM_MODULE_INFORMATION_ENTRY;
sca8er 2:5853bf44af9f 379
sca8er 2:5853bf44af9f 380 typedef struct _SYSTEM_MODULE_INFORMATION {
sca8er 2:5853bf44af9f 381 ULONG Count;
sca8er 2:5853bf44af9f 382 SYSTEM_MODULE_INFORMATION_ENTRY Module[1];
sca8er 2:5853bf44af9f 383 } SYSTEM_MODULE_INFORMATION, *PSYSTEM_MODULE_INFORMATION;
sca8er 2:5853bf44af9f 384
sca8er 2:5853bf44af9f 385 typedef struct _SYSTEM_LOCK_INFORMATION {
sca8er 2:5853bf44af9f 386 PVOID Address;
sca8er 2:5853bf44af9f 387 USHORT Type;
sca8er 2:5853bf44af9f 388 USHORT Reserved1;
sca8er 2:5853bf44af9f 389 ULONG ExclusiveOwnerThreadId;
sca8er 2:5853bf44af9f 390 ULONG ActiveCount;
sca8er 2:5853bf44af9f 391 ULONG ContentionCount;
sca8er 2:5853bf44af9f 392 ULONG Reserved2[2];
sca8er 2:5853bf44af9f 393 ULONG NumberOfSharedWaiters;
sca8er 2:5853bf44af9f 394 ULONG NumberOfExclusiveWaiters;
sca8er 2:5853bf44af9f 395 } SYSTEM_LOCK_INFORMATION, *PSYSTEM_LOCK_INFORMATION;
sca8er 2:5853bf44af9f 396
sca8er 2:5853bf44af9f 397 /*SYSTEM_HANDLE_INFORMATION.Flags cosntants */
sca8er 2:5853bf44af9f 398 #define PROTECT_FROM_CLOSE 0x01
sca8er 2:5853bf44af9f 399 #define INHERIT 0x02
sca8er 2:5853bf44af9f 400
sca8er 2:5853bf44af9f 401 typedef struct _SYSTEM_HANDLE_INFORMATION {
sca8er 2:5853bf44af9f 402 ULONG ProcessId;
sca8er 2:5853bf44af9f 403 UCHAR ObjectTypeNumber;
sca8er 2:5853bf44af9f 404 UCHAR Flags;
sca8er 2:5853bf44af9f 405 USHORT Handle;
sca8er 2:5853bf44af9f 406 PVOID Object;
sca8er 2:5853bf44af9f 407 ACCESS_MASK GrantedAccess;
sca8er 2:5853bf44af9f 408 } SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;
sca8er 2:5853bf44af9f 409
sca8er 2:5853bf44af9f 410 typedef struct _SYSTEM_OBJECT_TYPE_INFORMATION {
sca8er 2:5853bf44af9f 411 ULONG NextEntryOffset;
sca8er 2:5853bf44af9f 412 ULONG ObjectCount;
sca8er 2:5853bf44af9f 413 ULONG HandleCount;
sca8er 2:5853bf44af9f 414 ULONG TypeNumber;
sca8er 2:5853bf44af9f 415 ULONG InvalidAttributes;
sca8er 2:5853bf44af9f 416 GENERIC_MAPPING GenericMapping;
sca8er 2:5853bf44af9f 417 ACCESS_MASK ValidAccessMask;
sca8er 2:5853bf44af9f 418 POOL_TYPE PoolType;
sca8er 2:5853bf44af9f 419 UCHAR Unknown;
sca8er 2:5853bf44af9f 420 UNICODE_STRING Name;
sca8er 2:5853bf44af9f 421 } SYSTEM_OBJECT_TYPE_INFORMATION, *PSYSTEM_OBJECT_TYPE_INFORMATION;
sca8er 2:5853bf44af9f 422
sca8er 2:5853bf44af9f 423 /* SYSTEM_OBJECT_INFORMATION.Flags constants */
sca8er 2:5853bf44af9f 424 #define FLG_SYSOBJINFO_SINGLE_HANDLE_ENTRY 0x40
sca8er 2:5853bf44af9f 425 #define FLG_SYSOBJINFO_DEFAULT_SECURITY_QUOTA 0x20
sca8er 2:5853bf44af9f 426 #define FLG_SYSOBJINFO_PERMANENT 0x10
sca8er 2:5853bf44af9f 427 #define FLG_SYSOBJINFO_EXCLUSIVE 0x08
sca8er 2:5853bf44af9f 428 #define FLG_SYSOBJINFO_CREATOR_INFO 0x04
sca8er 2:5853bf44af9f 429 #define FLG_SYSOBJINFO_KERNEL_MODE 0x02
sca8er 2:5853bf44af9f 430
sca8er 2:5853bf44af9f 431 typedef struct _SYSTEM_OBJECT_INFORMATION {
sca8er 2:5853bf44af9f 432 ULONG NextEntryOffset;
sca8er 2:5853bf44af9f 433 PVOID Object;
sca8er 2:5853bf44af9f 434 ULONG CreatorProcessId;
sca8er 2:5853bf44af9f 435 USHORT Unknown;
sca8er 2:5853bf44af9f 436 USHORT Flags;
sca8er 2:5853bf44af9f 437 ULONG PointerCount;
sca8er 2:5853bf44af9f 438 ULONG HandleCount;
sca8er 2:5853bf44af9f 439 ULONG PagedPoolUsage;
sca8er 2:5853bf44af9f 440 ULONG NonPagedPoolUsage;
sca8er 2:5853bf44af9f 441 ULONG ExclusiveProcessId;
sca8er 2:5853bf44af9f 442 PSECURITY_DESCRIPTOR SecurityDescriptor;
sca8er 2:5853bf44af9f 443 UNICODE_STRING Name;
sca8er 2:5853bf44af9f 444 } SYSTEM_OBJECT_INFORMATION, *PSYSTEM_OBJECT_INFORMATION;
sca8er 2:5853bf44af9f 445
sca8er 2:5853bf44af9f 446 typedef struct _SYSTEM_PAGEFILE_INFORMATION {
sca8er 2:5853bf44af9f 447 ULONG NextEntryOffset;
sca8er 2:5853bf44af9f 448 ULONG CurrentSize;
sca8er 2:5853bf44af9f 449 ULONG TotalUsed;
sca8er 2:5853bf44af9f 450 ULONG PeakUsed;
sca8er 2:5853bf44af9f 451 UNICODE_STRING FileName;
sca8er 2:5853bf44af9f 452 } SYSTEM_PAGEFILE_INFORMATION, *PSYSTEM_PAGEFILE_INFORMATION;
sca8er 2:5853bf44af9f 453
sca8er 2:5853bf44af9f 454 typedef struct _SYSTEM_INSTRUCTION_EMULATION_INFORMATION {
sca8er 2:5853bf44af9f 455 ULONG SegmentNotPresent;
sca8er 2:5853bf44af9f 456 ULONG TwoByteOpcode;
sca8er 2:5853bf44af9f 457 ULONG ESprefix;
sca8er 2:5853bf44af9f 458 ULONG CSprefix;
sca8er 2:5853bf44af9f 459 ULONG SSprefix;
sca8er 2:5853bf44af9f 460 ULONG DSprefix;
sca8er 2:5853bf44af9f 461 ULONG FSPrefix;
sca8er 2:5853bf44af9f 462 ULONG GSprefix;
sca8er 2:5853bf44af9f 463 ULONG OPER32prefix;
sca8er 2:5853bf44af9f 464 ULONG ADDR32prefix;
sca8er 2:5853bf44af9f 465 ULONG INSB;
sca8er 2:5853bf44af9f 466 ULONG INSW;
sca8er 2:5853bf44af9f 467 ULONG OUTSB;
sca8er 2:5853bf44af9f 468 ULONG OUTSW;
sca8er 2:5853bf44af9f 469 ULONG PUSHFD;
sca8er 2:5853bf44af9f 470 ULONG POPFD;
sca8er 2:5853bf44af9f 471 ULONG INTnn;
sca8er 2:5853bf44af9f 472 ULONG INTO;
sca8er 2:5853bf44af9f 473 ULONG IRETD;
sca8er 2:5853bf44af9f 474 ULONG INBimm;
sca8er 2:5853bf44af9f 475 ULONG INWimm;
sca8er 2:5853bf44af9f 476 ULONG OUTBimm;
sca8er 2:5853bf44af9f 477 ULONG OUTWimm;
sca8er 2:5853bf44af9f 478 ULONG INB;
sca8er 2:5853bf44af9f 479 ULONG INW;
sca8er 2:5853bf44af9f 480 ULONG OUTB;
sca8er 2:5853bf44af9f 481 ULONG OUTW;
sca8er 2:5853bf44af9f 482 ULONG LOCKprefix;
sca8er 2:5853bf44af9f 483 ULONG REPNEprefix;
sca8er 2:5853bf44af9f 484 ULONG REPprefix;
sca8er 2:5853bf44af9f 485 ULONG HLT;
sca8er 2:5853bf44af9f 486 ULONG CLI;
sca8er 2:5853bf44af9f 487 ULONG STI;
sca8er 2:5853bf44af9f 488 ULONG GenericInvalidOpcode;
sca8er 2:5853bf44af9f 489 } SYSTEM_INSTRUCTION_EMULATION_INFORMATION, *PSYSTEM_INSTRUCTION_EMULATION_INFORMATION;
sca8er 2:5853bf44af9f 490
sca8er 2:5853bf44af9f 491 typedef struct _SYSTEM_POOL_TAG_INFORMATION {
sca8er 2:5853bf44af9f 492 CHAR Tag[4];
sca8er 2:5853bf44af9f 493 ULONG PagedPoolAllocs;
sca8er 2:5853bf44af9f 494 ULONG PagedPoolFrees;
sca8er 2:5853bf44af9f 495 ULONG PagedPoolUsage;
sca8er 2:5853bf44af9f 496 ULONG NonPagedPoolAllocs;
sca8er 2:5853bf44af9f 497 ULONG NonPagedPoolFrees;
sca8er 2:5853bf44af9f 498 ULONG NonPagedPoolUsage;
sca8er 2:5853bf44af9f 499 } SYSTEM_POOL_TAG_INFORMATION, *PSYSTEM_POOL_TAG_INFORMATION;
sca8er 2:5853bf44af9f 500
sca8er 2:5853bf44af9f 501 typedef struct _SYSTEM_PROCESSOR_STATISTICS {
sca8er 2:5853bf44af9f 502 ULONG ContextSwitches;
sca8er 2:5853bf44af9f 503 ULONG DpcCount;
sca8er 2:5853bf44af9f 504 ULONG DpcRequestRate;
sca8er 2:5853bf44af9f 505 ULONG TimeIncrement;
sca8er 2:5853bf44af9f 506 ULONG DpcBypassCount;
sca8er 2:5853bf44af9f 507 ULONG ApcBypassCount;
sca8er 2:5853bf44af9f 508 } SYSTEM_PROCESSOR_STATISTICS, *PSYSTEM_PROCESSOR_STATISTICS;
sca8er 2:5853bf44af9f 509
sca8er 2:5853bf44af9f 510 typedef struct _SYSTEM_DPC_INFORMATION {
sca8er 2:5853bf44af9f 511 ULONG Reserved;
sca8er 2:5853bf44af9f 512 ULONG MaximumDpcQueueDepth;
sca8er 2:5853bf44af9f 513 ULONG MinimumDpcRate;
sca8er 2:5853bf44af9f 514 ULONG AdjustDpcThreshold;
sca8er 2:5853bf44af9f 515 ULONG IdealDpcRate;
sca8er 2:5853bf44af9f 516 } SYSTEM_DPC_INFORMATION, *PSYSTEM_DPC_INFORMATION;
sca8er 2:5853bf44af9f 517
sca8er 2:5853bf44af9f 518 typedef struct _SYSTEM_LOAD_IMAGE {
sca8er 2:5853bf44af9f 519 UNICODE_STRING ModuleName;
sca8er 2:5853bf44af9f 520 PVOID ModuleBase;
sca8er 2:5853bf44af9f 521 PVOID SectionPointer;
sca8er 2:5853bf44af9f 522 PVOID EntryPoint;
sca8er 2:5853bf44af9f 523 PVOID ExportDirectory;
sca8er 2:5853bf44af9f 524 } SYSTEM_LOAD_IMAGE, *PSYSTEM_LOAD_IMAGE;
sca8er 2:5853bf44af9f 525
sca8er 2:5853bf44af9f 526 typedef struct _SYSTEM_UNLOAD_IMAGE {
sca8er 2:5853bf44af9f 527 PVOID ModuleBase;
sca8er 2:5853bf44af9f 528 } SYSTEM_UNLOAD_IMAGE, *PSYSTEM_UNLOAD_IMAGE;
sca8er 2:5853bf44af9f 529
sca8er 2:5853bf44af9f 530 typedef struct _SYSTEM_QUERY_TIME_ADJUSTMENT {
sca8er 2:5853bf44af9f 531 ULONG TimeAdjustment;
sca8er 2:5853bf44af9f 532 ULONG MaximumIncrement;
sca8er 2:5853bf44af9f 533 BOOLEAN TimeSynchronization;
sca8er 2:5853bf44af9f 534 } SYSTEM_QUERY_TIME_ADJUSTMENT, *PSYSTEM_QUERY_TIME_ADJUSTMENT;
sca8er 2:5853bf44af9f 535
sca8er 2:5853bf44af9f 536 typedef struct _SYSTEM_SET_TIME_ADJUSTMENT {
sca8er 2:5853bf44af9f 537 ULONG TimeAdjustment;
sca8er 2:5853bf44af9f 538 BOOLEAN TimeSynchronization;
sca8er 2:5853bf44af9f 539 } SYSTEM_SET_TIME_ADJUSTMENT, *PSYSTEM_SET_TIME_ADJUSTMENT;
sca8er 2:5853bf44af9f 540
sca8er 2:5853bf44af9f 541 typedef struct _SYSTEM_CRASH_DUMP_INFORMATION {
sca8er 2:5853bf44af9f 542 HANDLE CrashDumpSectionHandle;
sca8er 2:5853bf44af9f 543 HANDLE Unknown;
sca8er 2:5853bf44af9f 544 } SYSTEM_CRASH_DUMP_INFORMATION, *PSYSTEM_CRASH_DUMP_INFORMATION;
sca8er 2:5853bf44af9f 545
sca8er 2:5853bf44af9f 546 typedef struct _SYSTEM_EXCEPTION_INFORMATION {
sca8er 2:5853bf44af9f 547 ULONG AlignmentFixupCount;
sca8er 2:5853bf44af9f 548 ULONG ExceptionDispatchCount;
sca8er 2:5853bf44af9f 549 ULONG FloatingEmulationCount;
sca8er 2:5853bf44af9f 550 ULONG Reserved;
sca8er 2:5853bf44af9f 551 } SYSTEM_EXCEPTION_INFORMATION, *PSYSTEM_EXCEPTION_INFORMATION;
sca8er 2:5853bf44af9f 552
sca8er 2:5853bf44af9f 553 typedef struct _SYSTEM_CRASH_DUMP_STATE_INFORMATION {
sca8er 2:5853bf44af9f 554 ULONG CrashDumpSectionExists;
sca8er 2:5853bf44af9f 555 ULONG Unknown;
sca8er 2:5853bf44af9f 556 } SYSTEM_CRASH_DUMP_STATE_INFORMATION, *PSYSTEM_CRASH_DUMP_STATE_INFORMATION;
sca8er 2:5853bf44af9f 557
sca8er 2:5853bf44af9f 558 typedef struct _SYSTEM_KERNEL_DEBUGGER_INFORMATION {
sca8er 2:5853bf44af9f 559 BOOLEAN DebuggerEnabled;
sca8er 2:5853bf44af9f 560 BOOLEAN DebuggerNotPresent;
sca8er 2:5853bf44af9f 561 } SYSTEM_KERNEL_DEBUGGER_INFORMATION, *PSYSTEM_KERNEL_DEBUGGER_INFORMATION;
sca8er 2:5853bf44af9f 562
sca8er 2:5853bf44af9f 563 typedef struct _SYSTEM_CONTEXT_SWITCH_INFORMATION {
sca8er 2:5853bf44af9f 564 ULONG ContextSwitches;
sca8er 2:5853bf44af9f 565 ULONG ContextSwitchCounters[11];
sca8er 2:5853bf44af9f 566 } SYSTEM_CONTEXT_SWITCH_INFORMATION, *PSYSTEM_CONTEXT_SWITCH_INFORMATION;
sca8er 2:5853bf44af9f 567
sca8er 2:5853bf44af9f 568 typedef struct _SYSTEM_REGISTRY_QUOTA_INFORMATION {
sca8er 2:5853bf44af9f 569 ULONG RegistryQuota;
sca8er 2:5853bf44af9f 570 ULONG RegistryQuotaInUse;
sca8er 2:5853bf44af9f 571 ULONG PagedPoolSize;
sca8er 2:5853bf44af9f 572 } SYSTEM_REGISTRY_QUOTA_INFORMATION, *PSYSTEM_REGISTRY_QUOTA_INFORMATION;
sca8er 2:5853bf44af9f 573
sca8er 2:5853bf44af9f 574 typedef struct _SYSTEM_LOAD_AND_CALL_IMAGE {
sca8er 2:5853bf44af9f 575 UNICODE_STRING ModuleName;
sca8er 2:5853bf44af9f 576 } SYSTEM_LOAD_AND_CALL_IMAGE, *PSYSTEM_LOAD_AND_CALL_IMAGE;
sca8er 2:5853bf44af9f 577
sca8er 2:5853bf44af9f 578 typedef struct _SYSTEM_PRIORITY_SEPARATION {
sca8er 2:5853bf44af9f 579 ULONG PrioritySeparation;
sca8er 2:5853bf44af9f 580 } SYSTEM_PRIORITY_SEPARATION, *PSYSTEM_PRIORITY_SEPARATION;
sca8er 2:5853bf44af9f 581
sca8er 2:5853bf44af9f 582 typedef struct _SYSTEM_TIME_ZONE_INFORMATION {
sca8er 2:5853bf44af9f 583 LONG Bias;
sca8er 2:5853bf44af9f 584 WCHAR StandardName[32];
sca8er 2:5853bf44af9f 585 LARGE_INTEGER StandardDate;
sca8er 2:5853bf44af9f 586 LONG StandardBias;
sca8er 2:5853bf44af9f 587 WCHAR DaylightName[32];
sca8er 2:5853bf44af9f 588 LARGE_INTEGER DaylightDate;
sca8er 2:5853bf44af9f 589 LONG DaylightBias;
sca8er 2:5853bf44af9f 590 } SYSTEM_TIME_ZONE_INFORMATION, *PSYSTEM_TIME_ZONE_INFORMATION;
sca8er 2:5853bf44af9f 591
sca8er 2:5853bf44af9f 592 typedef struct _SYSTEM_LOOKASIDE_INFORMATION {
sca8er 2:5853bf44af9f 593 USHORT Depth;
sca8er 2:5853bf44af9f 594 USHORT MaximumDepth;
sca8er 2:5853bf44af9f 595 ULONG TotalAllocates;
sca8er 2:5853bf44af9f 596 ULONG AllocateMisses;
sca8er 2:5853bf44af9f 597 ULONG TotalFrees;
sca8er 2:5853bf44af9f 598 ULONG FreeMisses;
sca8er 2:5853bf44af9f 599 POOL_TYPE Type;
sca8er 2:5853bf44af9f 600 ULONG Tag;
sca8er 2:5853bf44af9f 601 ULONG Size;
sca8er 2:5853bf44af9f 602 } SYSTEM_LOOKASIDE_INFORMATION, *PSYSTEM_LOOKASIDE_INFORMATION;
sca8er 2:5853bf44af9f 603
sca8er 2:5853bf44af9f 604 typedef struct _SYSTEM_SET_TIME_SLIP_EVENT {
sca8er 2:5853bf44af9f 605 HANDLE TimeSlipEvent;
sca8er 2:5853bf44af9f 606 } SYSTEM_SET_TIME_SLIP_EVENT, *PSYSTEM_SET_TIME_SLIP_EVENT;
sca8er 2:5853bf44af9f 607
sca8er 2:5853bf44af9f 608 typedef struct _SYSTEM_CREATE_SESSION {
sca8er 2:5853bf44af9f 609 ULONG SessionId;
sca8er 2:5853bf44af9f 610 } SYSTEM_CREATE_SESSION, *PSYSTEM_CREATE_SESSION;
sca8er 2:5853bf44af9f 611
sca8er 2:5853bf44af9f 612 typedef struct _SYSTEM_DELETE_SESSION {
sca8er 2:5853bf44af9f 613 ULONG SessionId;
sca8er 2:5853bf44af9f 614 } SYSTEM_DELETE_SESSION, *PSYSTEM_DELETE_SESSION;
sca8er 2:5853bf44af9f 615
sca8er 2:5853bf44af9f 616 typedef struct _SYSTEM_RANGE_START_INFORMATION {
sca8er 2:5853bf44af9f 617 PVOID SystemRangeStart;
sca8er 2:5853bf44af9f 618 } SYSTEM_RANGE_START_INFORMATION, *PSYSTEM_RANGE_START_INFORMATION;
sca8er 2:5853bf44af9f 619
sca8er 2:5853bf44af9f 620 typedef struct _SYSTEM_SESSION_PROCESSES_INFORMATION {
sca8er 2:5853bf44af9f 621 ULONG SessionId;
sca8er 2:5853bf44af9f 622 ULONG BufferSize;
sca8er 2:5853bf44af9f 623 PVOID Buffer;
sca8er 2:5853bf44af9f 624 } SYSTEM_SESSION_PROCESSES_INFORMATION, *PSYSTEM_SESSION_PROCESSES_INFORMATION;
sca8er 2:5853bf44af9f 625
sca8er 2:5853bf44af9f 626 typedef struct _SYSTEM_POOL_BLOCK {
sca8er 2:5853bf44af9f 627 BOOLEAN Allocated;
sca8er 2:5853bf44af9f 628 USHORT Unknown;
sca8er 2:5853bf44af9f 629 ULONG Size;
sca8er 2:5853bf44af9f 630 CHAR Tag[4];
sca8er 2:5853bf44af9f 631 } SYSTEM_POOL_BLOCK, *PSYSTEM_POOL_BLOCK;
sca8er 2:5853bf44af9f 632
sca8er 2:5853bf44af9f 633 typedef struct _SYSTEM_POOL_BLOCKS_INFORMATION {
sca8er 2:5853bf44af9f 634 ULONG PoolSize;
sca8er 2:5853bf44af9f 635 PVOID PoolBase;
sca8er 2:5853bf44af9f 636 USHORT Unknown;
sca8er 2:5853bf44af9f 637 ULONG NumberOfBlocks;
sca8er 2:5853bf44af9f 638 SYSTEM_POOL_BLOCK PoolBlocks[1];
sca8er 2:5853bf44af9f 639 } SYSTEM_POOL_BLOCKS_INFORMATION, *PSYSTEM_POOL_BLOCKS_INFORMATION;
sca8er 2:5853bf44af9f 640
sca8er 2:5853bf44af9f 641 typedef struct _SYSTEM_MEMORY_USAGE {
sca8er 2:5853bf44af9f 642 PVOID Name;
sca8er 2:5853bf44af9f 643 USHORT Valid;
sca8er 2:5853bf44af9f 644 USHORT Standby;
sca8er 2:5853bf44af9f 645 USHORT Modified;
sca8er 2:5853bf44af9f 646 USHORT PageTables;
sca8er 2:5853bf44af9f 647 } SYSTEM_MEMORY_USAGE, *PSYSTEM_MEMORY_USAGE;
sca8er 2:5853bf44af9f 648
sca8er 2:5853bf44af9f 649 typedef struct _SYSTEM_MEMORY_USAGE_INFORMATION {
sca8er 2:5853bf44af9f 650 ULONG Reserved;
sca8er 2:5853bf44af9f 651 PVOID EndOfData;
sca8er 2:5853bf44af9f 652 SYSTEM_MEMORY_USAGE MemoryUsage[1];
sca8er 2:5853bf44af9f 653 } SYSTEM_MEMORY_USAGE_INFORMATION, *PSYSTEM_MEMORY_USAGE_INFORMATION;
sca8er 2:5853bf44af9f 654
sca8er 2:5853bf44af9f 655 NTOSAPI
sca8er 2:5853bf44af9f 656 NTSTATUS
sca8er 2:5853bf44af9f 657 NTAPI
sca8er 2:5853bf44af9f 658 NtQuerySystemInformation(
sca8er 2:5853bf44af9f 659 /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
sca8er 2:5853bf44af9f 660 /*IN OUT*/ PVOID SystemInformation,
sca8er 2:5853bf44af9f 661 /*IN*/ ULONG SystemInformationLength,
sca8er 2:5853bf44af9f 662 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 663
sca8er 2:5853bf44af9f 664 NTOSAPI
sca8er 2:5853bf44af9f 665 NTSTATUS
sca8er 2:5853bf44af9f 666 NTAPI
sca8er 2:5853bf44af9f 667 ZwQuerySystemInformation(
sca8er 2:5853bf44af9f 668 /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
sca8er 2:5853bf44af9f 669 /*IN OUT*/ PVOID SystemInformation,
sca8er 2:5853bf44af9f 670 /*IN*/ ULONG SystemInformationLength,
sca8er 2:5853bf44af9f 671 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 672
sca8er 2:5853bf44af9f 673 NTOSAPI
sca8er 2:5853bf44af9f 674 NTAPI
sca8er 2:5853bf44af9f 675 NTSTATUS
sca8er 2:5853bf44af9f 676 NtQueryFullAttributesFile(
sca8er 2:5853bf44af9f 677 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 678 /*OUT*/ PFILE_NETWORK_OPEN_INFORMATION FileInformation);
sca8er 2:5853bf44af9f 679
sca8er 2:5853bf44af9f 680 NTOSAPI
sca8er 2:5853bf44af9f 681 NTAPI
sca8er 2:5853bf44af9f 682 NTSTATUS
sca8er 2:5853bf44af9f 683 ZwQueryFullAttributesFile(
sca8er 2:5853bf44af9f 684 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 685 /*OUT*/ PFILE_NETWORK_OPEN_INFORMATION FileInformation);
sca8er 2:5853bf44af9f 686
sca8er 2:5853bf44af9f 687 NTOSAPI
sca8er 2:5853bf44af9f 688 NTSTATUS
sca8er 2:5853bf44af9f 689 NTAPI
sca8er 2:5853bf44af9f 690 NtSetSystemInformation(
sca8er 2:5853bf44af9f 691 /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
sca8er 2:5853bf44af9f 692 /*IN OUT*/ PVOID SystemInformation,
sca8er 2:5853bf44af9f 693 /*IN*/ ULONG SystemInformationLength);
sca8er 2:5853bf44af9f 694
sca8er 2:5853bf44af9f 695 NTOSAPI
sca8er 2:5853bf44af9f 696 NTSTATUS
sca8er 2:5853bf44af9f 697 NTAPI
sca8er 2:5853bf44af9f 698 ZwSetSystemInformation(
sca8er 2:5853bf44af9f 699 /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
sca8er 2:5853bf44af9f 700 /*IN OUT*/ PVOID SystemInformation,
sca8er 2:5853bf44af9f 701 /*IN*/ ULONG SystemInformationLength);
sca8er 2:5853bf44af9f 702
sca8er 2:5853bf44af9f 703 NTOSAPI
sca8er 2:5853bf44af9f 704 NTSTATUS
sca8er 2:5853bf44af9f 705 NTAPI
sca8er 2:5853bf44af9f 706 NtQuerySystemEnvironmentValue(
sca8er 2:5853bf44af9f 707 /*IN*/ PUNICODE_STRING Name,
sca8er 2:5853bf44af9f 708 /*OUT*/ PVOID Value,
sca8er 2:5853bf44af9f 709 /*IN*/ ULONG ValueLength,
sca8er 2:5853bf44af9f 710 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 711
sca8er 2:5853bf44af9f 712 NTOSAPI
sca8er 2:5853bf44af9f 713 NTSTATUS
sca8er 2:5853bf44af9f 714 NTAPI
sca8er 2:5853bf44af9f 715 ZwQuerySystemEnvironmentValue(
sca8er 2:5853bf44af9f 716 /*IN*/ PUNICODE_STRING Name,
sca8er 2:5853bf44af9f 717 /*OUT*/ PVOID Value,
sca8er 2:5853bf44af9f 718 /*IN*/ ULONG ValueLength,
sca8er 2:5853bf44af9f 719 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 720
sca8er 2:5853bf44af9f 721 NTOSAPI
sca8er 2:5853bf44af9f 722 NTSTATUS
sca8er 2:5853bf44af9f 723 NTAPI
sca8er 2:5853bf44af9f 724 NtSetSystemEnvironmentValue(
sca8er 2:5853bf44af9f 725 /*IN*/ PUNICODE_STRING Name,
sca8er 2:5853bf44af9f 726 /*IN*/ PUNICODE_STRING Value);
sca8er 2:5853bf44af9f 727
sca8er 2:5853bf44af9f 728 NTOSAPI
sca8er 2:5853bf44af9f 729 NTSTATUS
sca8er 2:5853bf44af9f 730 NTAPI
sca8er 2:5853bf44af9f 731 ZwSetSystemEnvironmentValue(
sca8er 2:5853bf44af9f 732 /*IN*/ PUNICODE_STRING Name,
sca8er 2:5853bf44af9f 733 /*IN*/ PUNICODE_STRING Value);
sca8er 2:5853bf44af9f 734
sca8er 2:5853bf44af9f 735 typedef enum _SHUTDOWN_ACTION {
sca8er 2:5853bf44af9f 736 ShutdownNoReboot,
sca8er 2:5853bf44af9f 737 ShutdownReboot,
sca8er 2:5853bf44af9f 738 ShutdownPowerOff
sca8er 2:5853bf44af9f 739 } SHUTDOWN_ACTION;
sca8er 2:5853bf44af9f 740
sca8er 2:5853bf44af9f 741 NTOSAPI
sca8er 2:5853bf44af9f 742 NTSTATUS
sca8er 2:5853bf44af9f 743 NTAPI
sca8er 2:5853bf44af9f 744 NtShutdownSystem(
sca8er 2:5853bf44af9f 745 /*IN*/ SHUTDOWN_ACTION Action);
sca8er 2:5853bf44af9f 746
sca8er 2:5853bf44af9f 747 NTOSAPI
sca8er 2:5853bf44af9f 748 NTSTATUS
sca8er 2:5853bf44af9f 749 NTAPI
sca8er 2:5853bf44af9f 750 ZwShutdownSystem(
sca8er 2:5853bf44af9f 751 /*IN*/ SHUTDOWN_ACTION Action);
sca8er 2:5853bf44af9f 752
sca8er 2:5853bf44af9f 753 typedef enum _DEBUG_CONTROL_CODE {
sca8er 2:5853bf44af9f 754 DebugGetTraceInformation = 1,
sca8er 2:5853bf44af9f 755 DebugSetInternalBreakpoint,
sca8er 2:5853bf44af9f 756 DebugSetSpecialCall,
sca8er 2:5853bf44af9f 757 DebugClearSpecialCalls,
sca8er 2:5853bf44af9f 758 DebugQuerySpecialCalls,
sca8er 2:5853bf44af9f 759 DebugDbgBreakPoint,
sca8er 2:5853bf44af9f 760 DebugMaximum
sca8er 2:5853bf44af9f 761 } DEBUG_CONTROL_CODE;
sca8er 2:5853bf44af9f 762
sca8er 2:5853bf44af9f 763
sca8er 2:5853bf44af9f 764 NTOSAPI
sca8er 2:5853bf44af9f 765 NTSTATUS
sca8er 2:5853bf44af9f 766 NTAPI
sca8er 2:5853bf44af9f 767 NtSystemDebugControl(
sca8er 2:5853bf44af9f 768 /*IN*/ DEBUG_CONTROL_CODE ControlCode,
sca8er 2:5853bf44af9f 769 /*IN*/ PVOID InputBuffer /*OPTIONAL*/,
sca8er 2:5853bf44af9f 770 /*IN*/ ULONG InputBufferLength,
sca8er 2:5853bf44af9f 771 /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
sca8er 2:5853bf44af9f 772 /*IN*/ ULONG OutputBufferLength,
sca8er 2:5853bf44af9f 773 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 774
sca8er 2:5853bf44af9f 775 NTOSAPI
sca8er 2:5853bf44af9f 776 NTSTATUS
sca8er 2:5853bf44af9f 777 NTAPI
sca8er 2:5853bf44af9f 778 ZwSystemDebugControl(
sca8er 2:5853bf44af9f 779 /*IN*/ DEBUG_CONTROL_CODE ControlCode,
sca8er 2:5853bf44af9f 780 /*IN*/ PVOID InputBuffer /*OPTIONAL*/,
sca8er 2:5853bf44af9f 781 /*IN*/ ULONG InputBufferLength,
sca8er 2:5853bf44af9f 782 /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
sca8er 2:5853bf44af9f 783 /*IN*/ ULONG OutputBufferLength,
sca8er 2:5853bf44af9f 784 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 785
sca8er 2:5853bf44af9f 786
sca8er 2:5853bf44af9f 787
sca8er 2:5853bf44af9f 788 /* Objects, Object directories, and symbolic links */
sca8er 2:5853bf44af9f 789
sca8er 2:5853bf44af9f 790 typedef enum _OBJECT_INFORMATION_CLASS {
sca8er 2:5853bf44af9f 791 ObjectBasicInformation,
sca8er 2:5853bf44af9f 792 ObjectNameInformation,
sca8er 2:5853bf44af9f 793 ObjectTypeInformation,
sca8er 2:5853bf44af9f 794 ObjectAllTypesInformation,
sca8er 2:5853bf44af9f 795 ObjectHandleInformation
sca8er 2:5853bf44af9f 796 } OBJECT_INFORMATION_CLASS;
sca8er 2:5853bf44af9f 797
sca8er 2:5853bf44af9f 798 NTOSAPI
sca8er 2:5853bf44af9f 799 NTSTATUS
sca8er 2:5853bf44af9f 800 NTAPI
sca8er 2:5853bf44af9f 801 NtQueryObject(
sca8er 2:5853bf44af9f 802 /*IN*/ HANDLE ObjectHandle,
sca8er 2:5853bf44af9f 803 /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass,
sca8er 2:5853bf44af9f 804 /*OUT*/ PVOID ObjectInformation,
sca8er 2:5853bf44af9f 805 /*IN*/ ULONG ObjectInformationLength,
sca8er 2:5853bf44af9f 806 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 807
sca8er 2:5853bf44af9f 808 NTOSAPI
sca8er 2:5853bf44af9f 809 NTSTATUS
sca8er 2:5853bf44af9f 810 NTAPI
sca8er 2:5853bf44af9f 811 ZwQueryObject(
sca8er 2:5853bf44af9f 812 /*IN*/ HANDLE ObjectHandle,
sca8er 2:5853bf44af9f 813 /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass,
sca8er 2:5853bf44af9f 814 /*OUT*/ PVOID ObjectInformation,
sca8er 2:5853bf44af9f 815 /*IN*/ ULONG ObjectInformationLength,
sca8er 2:5853bf44af9f 816 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 817
sca8er 2:5853bf44af9f 818 NTOSAPI
sca8er 2:5853bf44af9f 819 NTSTATUS
sca8er 2:5853bf44af9f 820 NTAPI
sca8er 2:5853bf44af9f 821 NtSetInformationObject(
sca8er 2:5853bf44af9f 822 /*IN*/ HANDLE ObjectHandle,
sca8er 2:5853bf44af9f 823 /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass,
sca8er 2:5853bf44af9f 824 /*IN*/ PVOID ObjectInformation,
sca8er 2:5853bf44af9f 825 /*IN*/ ULONG ObjectInformationLength);
sca8er 2:5853bf44af9f 826
sca8er 2:5853bf44af9f 827 NTOSAPI
sca8er 2:5853bf44af9f 828 NTSTATUS
sca8er 2:5853bf44af9f 829 NTAPI
sca8er 2:5853bf44af9f 830 ZwSetInformationObject(
sca8er 2:5853bf44af9f 831 /*IN*/ HANDLE ObjectHandle,
sca8er 2:5853bf44af9f 832 /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass,
sca8er 2:5853bf44af9f 833 /*IN*/ PVOID ObjectInformation,
sca8er 2:5853bf44af9f 834 /*IN*/ ULONG ObjectInformationLength);
sca8er 2:5853bf44af9f 835
sca8er 2:5853bf44af9f 836 /* OBJECT_BASIC_INFORMATION.Attributes constants */
sca8er 2:5853bf44af9f 837 /* also in winbase.h */
sca8er 2:5853bf44af9f 838 #define HANDLE_FLAG_INHERIT 0x01
sca8er 2:5853bf44af9f 839 #define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x02
sca8er 2:5853bf44af9f 840 /* end winbase.h */
sca8er 2:5853bf44af9f 841 #define PERMANENT 0x10
sca8er 2:5853bf44af9f 842 #define EXCLUSIVE 0x20
sca8er 2:5853bf44af9f 843
sca8er 2:5853bf44af9f 844 typedef struct _OBJECT_BASIC_INFORMATION {
sca8er 2:5853bf44af9f 845 ULONG Attributes;
sca8er 2:5853bf44af9f 846 ACCESS_MASK GrantedAccess;
sca8er 2:5853bf44af9f 847 ULONG HandleCount;
sca8er 2:5853bf44af9f 848 ULONG PointerCount;
sca8er 2:5853bf44af9f 849 ULONG PagedPoolUsage;
sca8er 2:5853bf44af9f 850 ULONG NonPagedPoolUsage;
sca8er 2:5853bf44af9f 851 ULONG Reserved[3];
sca8er 2:5853bf44af9f 852 ULONG NameInformationLength;
sca8er 2:5853bf44af9f 853 ULONG TypeInformationLength;
sca8er 2:5853bf44af9f 854 ULONG SecurityDescriptorLength;
sca8er 2:5853bf44af9f 855 LARGE_INTEGER CreateTime;
sca8er 2:5853bf44af9f 856 } OBJECT_BASIC_INFORMATION, *POBJECT_BASIC_INFORMATION;
sca8er 2:5853bf44af9f 857 #if 0
sca8er 2:5853bf44af9f 858 /* FIXME: Enable later */
sca8er 2:5853bf44af9f 859 typedef struct _OBJECT_TYPE_INFORMATION {
sca8er 2:5853bf44af9f 860 UNICODE_STRING Name;
sca8er 2:5853bf44af9f 861 ULONG ObjectCount;
sca8er 2:5853bf44af9f 862 ULONG HandleCount;
sca8er 2:5853bf44af9f 863 ULONG Reserved1[4];
sca8er 2:5853bf44af9f 864 ULONG PeakObjectCount;
sca8er 2:5853bf44af9f 865 ULONG PeakHandleCount;
sca8er 2:5853bf44af9f 866 ULONG Reserved2[4];
sca8er 2:5853bf44af9f 867 ULONG InvalidAttributes;
sca8er 2:5853bf44af9f 868 GENERIC_MAPPING GenericMapping;
sca8er 2:5853bf44af9f 869 ULONG ValidAccess;
sca8er 2:5853bf44af9f 870 UCHAR Unknown;
sca8er 2:5853bf44af9f 871 BOOLEAN MaintainHandleDatabase;
sca8er 2:5853bf44af9f 872 POOL_TYPE PoolType;
sca8er 2:5853bf44af9f 873 ULONG PagedPoolUsage;
sca8er 2:5853bf44af9f 874 ULONG NonPagedPoolUsage;
sca8er 2:5853bf44af9f 875 } OBJECT_TYPE_INFORMATION, *POBJECT_TYPE_INFORMATION;
sca8er 2:5853bf44af9f 876
sca8er 2:5853bf44af9f 877 typedef struct _OBJECT_ALL_TYPES_INFORMATION {
sca8er 2:5853bf44af9f 878 ULONG NumberOfTypes;
sca8er 2:5853bf44af9f 879 OBJECT_TYPE_INFORMATION TypeInformation;
sca8er 2:5853bf44af9f 880 } OBJECT_ALL_TYPES_INFORMATION, *POBJECT_ALL_TYPES_INFORMATION;
sca8er 2:5853bf44af9f 881 #endif
sca8er 2:5853bf44af9f 882 typedef struct _OBJECT_HANDLE_ATTRIBUTE_INFORMATION {
sca8er 2:5853bf44af9f 883 BOOLEAN Inherit;
sca8er 2:5853bf44af9f 884 BOOLEAN ProtectFromClose;
sca8er 2:5853bf44af9f 885 } OBJECT_HANDLE_ATTRIBUTE_INFORMATION, *POBJECT_HANDLE_ATTRIBUTE_INFORMATION;
sca8er 2:5853bf44af9f 886
sca8er 2:5853bf44af9f 887 NTOSAPI
sca8er 2:5853bf44af9f 888 NTSTATUS
sca8er 2:5853bf44af9f 889 NTAPI
sca8er 2:5853bf44af9f 890 NtDuplicateObject(
sca8er 2:5853bf44af9f 891 /*IN*/ HANDLE SourceProcessHandle,
sca8er 2:5853bf44af9f 892 /*IN*/ HANDLE SourceHandle,
sca8er 2:5853bf44af9f 893 /*IN*/ HANDLE TargetProcessHandle,
sca8er 2:5853bf44af9f 894 /*OUT*/ PHANDLE TargetHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 895 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 896 /*IN*/ ULONG Attributes,
sca8er 2:5853bf44af9f 897 /*IN*/ ULONG Options);
sca8er 2:5853bf44af9f 898
sca8er 2:5853bf44af9f 899 NTOSAPI
sca8er 2:5853bf44af9f 900 NTSTATUS
sca8er 2:5853bf44af9f 901 NTAPI
sca8er 2:5853bf44af9f 902 ZwDuplicateObject(
sca8er 2:5853bf44af9f 903 /*IN*/ HANDLE SourceProcessHandle,
sca8er 2:5853bf44af9f 904 /*IN*/ HANDLE SourceHandle,
sca8er 2:5853bf44af9f 905 /*IN*/ HANDLE TargetProcessHandle,
sca8er 2:5853bf44af9f 906 /*OUT*/ PHANDLE TargetHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 907 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 908 /*IN*/ ULONG Attributes,
sca8er 2:5853bf44af9f 909 /*IN*/ ULONG Options);
sca8er 2:5853bf44af9f 910
sca8er 2:5853bf44af9f 911 NTOSAPI
sca8er 2:5853bf44af9f 912 NTSTATUS
sca8er 2:5853bf44af9f 913 NTAPI
sca8er 2:5853bf44af9f 914 NtQuerySecurityObject(
sca8er 2:5853bf44af9f 915 /*IN*/ HANDLE Handle,
sca8er 2:5853bf44af9f 916 /*IN*/ SECURITY_INFORMATION SecurityInformation,
sca8er 2:5853bf44af9f 917 /*OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 918 /*IN*/ ULONG SecurityDescriptorLength,
sca8er 2:5853bf44af9f 919 /*OUT*/ PULONG ReturnLength);
sca8er 2:5853bf44af9f 920
sca8er 2:5853bf44af9f 921 NTOSAPI
sca8er 2:5853bf44af9f 922 NTSTATUS
sca8er 2:5853bf44af9f 923 NTAPI
sca8er 2:5853bf44af9f 924 ZwQuerySecurityObject(
sca8er 2:5853bf44af9f 925 /*IN*/ HANDLE Handle,
sca8er 2:5853bf44af9f 926 /*IN*/ SECURITY_INFORMATION SecurityInformation,
sca8er 2:5853bf44af9f 927 /*OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 928 /*IN*/ ULONG SecurityDescriptorLength,
sca8er 2:5853bf44af9f 929 /*OUT*/ PULONG ReturnLength);
sca8er 2:5853bf44af9f 930
sca8er 2:5853bf44af9f 931 NTOSAPI
sca8er 2:5853bf44af9f 932 NTSTATUS
sca8er 2:5853bf44af9f 933 NTAPI
sca8er 2:5853bf44af9f 934 NtSetSecurityObject(
sca8er 2:5853bf44af9f 935 /*IN*/ HANDLE Handle,
sca8er 2:5853bf44af9f 936 /*IN*/ SECURITY_INFORMATION SecurityInformation,
sca8er 2:5853bf44af9f 937 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor);
sca8er 2:5853bf44af9f 938
sca8er 2:5853bf44af9f 939 NTOSAPI
sca8er 2:5853bf44af9f 940 NTSTATUS
sca8er 2:5853bf44af9f 941 NTAPI
sca8er 2:5853bf44af9f 942 ZwSetSecurityObject(
sca8er 2:5853bf44af9f 943 /*IN*/ HANDLE Handle,
sca8er 2:5853bf44af9f 944 /*IN*/ SECURITY_INFORMATION SecurityInformation,
sca8er 2:5853bf44af9f 945 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor);
sca8er 2:5853bf44af9f 946
sca8er 2:5853bf44af9f 947 NTOSAPI
sca8er 2:5853bf44af9f 948 NTSTATUS
sca8er 2:5853bf44af9f 949 NTAPI
sca8er 2:5853bf44af9f 950 NtOpenDirectoryObject(
sca8er 2:5853bf44af9f 951 /*OUT*/ PHANDLE DirectoryHandle,
sca8er 2:5853bf44af9f 952 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 953 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
sca8er 2:5853bf44af9f 954
sca8er 2:5853bf44af9f 955 NTOSAPI
sca8er 2:5853bf44af9f 956 NTSTATUS
sca8er 2:5853bf44af9f 957 NTAPI
sca8er 2:5853bf44af9f 958 ZwOpenDirectoryObject(
sca8er 2:5853bf44af9f 959 /*OUT*/ PHANDLE DirectoryHandle,
sca8er 2:5853bf44af9f 960 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 961 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
sca8er 2:5853bf44af9f 962
sca8er 2:5853bf44af9f 963 NTOSAPI
sca8er 2:5853bf44af9f 964 NTSTATUS
sca8er 2:5853bf44af9f 965 NTAPI
sca8er 2:5853bf44af9f 966 NtQueryDirectoryObject(
sca8er 2:5853bf44af9f 967 /*IN*/ HANDLE DirectoryHandle,
sca8er 2:5853bf44af9f 968 /*OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 969 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 970 /*IN*/ BOOLEAN ReturnSingleEntry,
sca8er 2:5853bf44af9f 971 /*IN*/ BOOLEAN RestartScan,
sca8er 2:5853bf44af9f 972 /*IN OUT*/ PULONG Context,
sca8er 2:5853bf44af9f 973 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 974
sca8er 2:5853bf44af9f 975 NTOSAPI
sca8er 2:5853bf44af9f 976 NTSTATUS
sca8er 2:5853bf44af9f 977 NTAPI
sca8er 2:5853bf44af9f 978 ZwQueryDirectoryObject(
sca8er 2:5853bf44af9f 979 /*IN*/ HANDLE DirectoryHandle,
sca8er 2:5853bf44af9f 980 /*OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 981 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 982 /*IN*/ BOOLEAN ReturnSingleEntry,
sca8er 2:5853bf44af9f 983 /*IN*/ BOOLEAN RestartScan,
sca8er 2:5853bf44af9f 984 /*IN OUT*/ PULONG Context,
sca8er 2:5853bf44af9f 985 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 986
sca8er 2:5853bf44af9f 987 typedef struct _DIRECTORY_BASIC_INFORMATION {
sca8er 2:5853bf44af9f 988 UNICODE_STRING ObjectName;
sca8er 2:5853bf44af9f 989 UNICODE_STRING ObjectTypeName;
sca8er 2:5853bf44af9f 990 } DIRECTORY_BASIC_INFORMATION, *PDIRECTORY_BASIC_INFORMATION;
sca8er 2:5853bf44af9f 991
sca8er 2:5853bf44af9f 992 NTOSAPI
sca8er 2:5853bf44af9f 993 NTSTATUS
sca8er 2:5853bf44af9f 994 NTAPI
sca8er 2:5853bf44af9f 995 NtCreateSymbolicLinkObject(
sca8er 2:5853bf44af9f 996 /*OUT*/ PHANDLE SymbolicLinkHandle,
sca8er 2:5853bf44af9f 997 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 998 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 999 /*IN*/ PUNICODE_STRING TargetName);
sca8er 2:5853bf44af9f 1000
sca8er 2:5853bf44af9f 1001 NTOSAPI
sca8er 2:5853bf44af9f 1002 NTSTATUS
sca8er 2:5853bf44af9f 1003 NTAPI
sca8er 2:5853bf44af9f 1004 ZwCreateSymbolicLinkObject(
sca8er 2:5853bf44af9f 1005 /*OUT*/ PHANDLE SymbolicLinkHandle,
sca8er 2:5853bf44af9f 1006 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 1007 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 1008 /*IN*/ PUNICODE_STRING TargetName);
sca8er 2:5853bf44af9f 1009
sca8er 2:5853bf44af9f 1010
sca8er 2:5853bf44af9f 1011
sca8er 2:5853bf44af9f 1012
sca8er 2:5853bf44af9f 1013 /* Virtual memory */
sca8er 2:5853bf44af9f 1014
sca8er 2:5853bf44af9f 1015 typedef enum _MEMORY_INFORMATION_CLASS {
sca8er 2:5853bf44af9f 1016 MemoryBasicInformation,
sca8er 2:5853bf44af9f 1017 MemoryWorkingSetList,
sca8er 2:5853bf44af9f 1018 MemorySectionName,
sca8er 2:5853bf44af9f 1019 MemoryBasicVlmInformation
sca8er 2:5853bf44af9f 1020 } MEMORY_INFORMATION_CLASS;
sca8er 2:5853bf44af9f 1021
sca8er 2:5853bf44af9f 1022 NTOSAPI
sca8er 2:5853bf44af9f 1023 NTSTATUS
sca8er 2:5853bf44af9f 1024 NTAPI
sca8er 2:5853bf44af9f 1025 NtAllocateVirtualMemory(
sca8er 2:5853bf44af9f 1026 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1027 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1028 /*IN*/ ULONG ZeroBits,
sca8er 2:5853bf44af9f 1029 /*IN OUT*/ PULONG AllocationSize,
sca8er 2:5853bf44af9f 1030 /*IN*/ ULONG AllocationType,
sca8er 2:5853bf44af9f 1031 /*IN*/ ULONG Protect);
sca8er 2:5853bf44af9f 1032
sca8er 2:5853bf44af9f 1033 NTOSAPI
sca8er 2:5853bf44af9f 1034 NTSTATUS
sca8er 2:5853bf44af9f 1035 NTAPI
sca8er 2:5853bf44af9f 1036 ZwAllocateVirtualMemory(
sca8er 2:5853bf44af9f 1037 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1038 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1039 /*IN*/ ULONG ZeroBits,
sca8er 2:5853bf44af9f 1040 /*IN OUT*/ PULONG AllocationSize,
sca8er 2:5853bf44af9f 1041 /*IN*/ ULONG AllocationType,
sca8er 2:5853bf44af9f 1042 /*IN*/ ULONG Protect);
sca8er 2:5853bf44af9f 1043
sca8er 2:5853bf44af9f 1044 NTOSAPI
sca8er 2:5853bf44af9f 1045 NTSTATUS
sca8er 2:5853bf44af9f 1046 NTAPI
sca8er 2:5853bf44af9f 1047 NtFreeVirtualMemory(
sca8er 2:5853bf44af9f 1048 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1049 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1050 /*IN OUT*/ PULONG FreeSize,
sca8er 2:5853bf44af9f 1051 /*IN*/ ULONG FreeType);
sca8er 2:5853bf44af9f 1052
sca8er 2:5853bf44af9f 1053 NTOSAPI
sca8er 2:5853bf44af9f 1054 NTSTATUS
sca8er 2:5853bf44af9f 1055 NTAPI
sca8er 2:5853bf44af9f 1056 ZwFreeVirtualMemory(
sca8er 2:5853bf44af9f 1057 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1058 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1059 /*IN OUT*/ PULONG FreeSize,
sca8er 2:5853bf44af9f 1060 /*IN*/ ULONG FreeType);
sca8er 2:5853bf44af9f 1061
sca8er 2:5853bf44af9f 1062 NTOSAPI
sca8er 2:5853bf44af9f 1063 NTSTATUS
sca8er 2:5853bf44af9f 1064 NTAPI
sca8er 2:5853bf44af9f 1065 NtQueryVirtualMemory(
sca8er 2:5853bf44af9f 1066 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1067 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1068 /*IN*/ MEMORY_INFORMATION_CLASS MemoryInformationClass,
sca8er 2:5853bf44af9f 1069 /*OUT*/ PVOID MemoryInformation,
sca8er 2:5853bf44af9f 1070 /*IN*/ ULONG MemoryInformationLength,
sca8er 2:5853bf44af9f 1071 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1072
sca8er 2:5853bf44af9f 1073 NTOSAPI
sca8er 2:5853bf44af9f 1074 NTSTATUS
sca8er 2:5853bf44af9f 1075 NTAPI
sca8er 2:5853bf44af9f 1076 ZwQueryVirtualMemory(
sca8er 2:5853bf44af9f 1077 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1078 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1079 /*IN*/ MEMORY_INFORMATION_CLASS MemoryInformationClass,
sca8er 2:5853bf44af9f 1080 /*OUT*/ PVOID MemoryInformation,
sca8er 2:5853bf44af9f 1081 /*IN*/ ULONG MemoryInformationLength,
sca8er 2:5853bf44af9f 1082 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1083
sca8er 2:5853bf44af9f 1084 /* MEMORY_WORKING_SET_LIST.WorkingSetList constants */
sca8er 2:5853bf44af9f 1085 #define WSLE_PAGE_READONLY 0x001
sca8er 2:5853bf44af9f 1086 #define WSLE_PAGE_EXECUTE 0x002
sca8er 2:5853bf44af9f 1087 #define WSLE_PAGE_READWRITE 0x004
sca8er 2:5853bf44af9f 1088 #define WSLE_PAGE_EXECUTE_READ 0x003
sca8er 2:5853bf44af9f 1089 #define WSLE_PAGE_WRITECOPY 0x005
sca8er 2:5853bf44af9f 1090 #define WSLE_PAGE_EXECUTE_READWRITE 0x006
sca8er 2:5853bf44af9f 1091 #define WSLE_PAGE_EXECUTE_WRITECOPY 0x007
sca8er 2:5853bf44af9f 1092 #define WSLE_PAGE_SHARE_COUNT_MASK 0x0E0
sca8er 2:5853bf44af9f 1093 #define WSLE_PAGE_SHAREABLE 0x100
sca8er 2:5853bf44af9f 1094
sca8er 2:5853bf44af9f 1095 typedef struct _MEMORY_WORKING_SET_LIST {
sca8er 2:5853bf44af9f 1096 ULONG NumberOfPages;
sca8er 2:5853bf44af9f 1097 ULONG WorkingSetList[1];
sca8er 2:5853bf44af9f 1098 } MEMORY_WORKING_SET_LIST, *PMEMORY_WORKING_SET_LIST;
sca8er 2:5853bf44af9f 1099
sca8er 2:5853bf44af9f 1100 typedef struct _MEMORY_SECTION_NAME {
sca8er 2:5853bf44af9f 1101 UNICODE_STRING SectionFileName;
sca8er 2:5853bf44af9f 1102 } MEMORY_SECTION_NAME, *PMEMORY_SECTION_NAME;
sca8er 2:5853bf44af9f 1103
sca8er 2:5853bf44af9f 1104 /* Zw[Lock|Unlock]VirtualMemory.LockType constants */
sca8er 2:5853bf44af9f 1105 #define LOCK_VM_IN_WSL 0x01
sca8er 2:5853bf44af9f 1106 #define LOCK_VM_IN_RAM 0x02
sca8er 2:5853bf44af9f 1107
sca8er 2:5853bf44af9f 1108 NTOSAPI
sca8er 2:5853bf44af9f 1109 NTSTATUS
sca8er 2:5853bf44af9f 1110 NTAPI
sca8er 2:5853bf44af9f 1111 NtLockVirtualMemory(
sca8er 2:5853bf44af9f 1112 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1113 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1114 /*IN OUT*/ PULONG LockSize,
sca8er 2:5853bf44af9f 1115 /*IN*/ ULONG LockType);
sca8er 2:5853bf44af9f 1116
sca8er 2:5853bf44af9f 1117 NTOSAPI
sca8er 2:5853bf44af9f 1118 NTSTATUS
sca8er 2:5853bf44af9f 1119 NTAPI
sca8er 2:5853bf44af9f 1120 ZwLockVirtualMemory(
sca8er 2:5853bf44af9f 1121 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1122 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1123 /*IN OUT*/ PULONG LockSize,
sca8er 2:5853bf44af9f 1124 /*IN*/ ULONG LockType);
sca8er 2:5853bf44af9f 1125
sca8er 2:5853bf44af9f 1126 NTOSAPI
sca8er 2:5853bf44af9f 1127 NTSTATUS
sca8er 2:5853bf44af9f 1128 NTAPI
sca8er 2:5853bf44af9f 1129 NtUnlockVirtualMemory(
sca8er 2:5853bf44af9f 1130 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1131 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1132 /*IN OUT*/ PULONG LockSize,
sca8er 2:5853bf44af9f 1133 /*IN*/ ULONG LockType);
sca8er 2:5853bf44af9f 1134
sca8er 2:5853bf44af9f 1135 NTOSAPI
sca8er 2:5853bf44af9f 1136 NTSTATUS
sca8er 2:5853bf44af9f 1137 NTAPI
sca8er 2:5853bf44af9f 1138 ZwUnlockVirtualMemory(
sca8er 2:5853bf44af9f 1139 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1140 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1141 /*IN OUT*/ PULONG LockSize,
sca8er 2:5853bf44af9f 1142 /*IN*/ ULONG LockType);
sca8er 2:5853bf44af9f 1143
sca8er 2:5853bf44af9f 1144 NTOSAPI
sca8er 2:5853bf44af9f 1145 NTSTATUS
sca8er 2:5853bf44af9f 1146 NTAPI
sca8er 2:5853bf44af9f 1147 NtReadVirtualMemory(
sca8er 2:5853bf44af9f 1148 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1149 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1150 /*OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 1151 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 1152 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1153
sca8er 2:5853bf44af9f 1154 NTOSAPI
sca8er 2:5853bf44af9f 1155 NTSTATUS
sca8er 2:5853bf44af9f 1156 NTAPI
sca8er 2:5853bf44af9f 1157 ZwReadVirtualMemory(
sca8er 2:5853bf44af9f 1158 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1159 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1160 /*OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 1161 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 1162 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1163
sca8er 2:5853bf44af9f 1164 NTOSAPI
sca8er 2:5853bf44af9f 1165 NTSTATUS
sca8er 2:5853bf44af9f 1166 NTAPI
sca8er 2:5853bf44af9f 1167 NtWriteVirtualMemory(
sca8er 2:5853bf44af9f 1168 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1169 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1170 /*IN*/ PVOID Buffer,
sca8er 2:5853bf44af9f 1171 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 1172 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1173
sca8er 2:5853bf44af9f 1174 NTOSAPI
sca8er 2:5853bf44af9f 1175 NTSTATUS
sca8er 2:5853bf44af9f 1176 NTAPI
sca8er 2:5853bf44af9f 1177 ZwWriteVirtualMemory(
sca8er 2:5853bf44af9f 1178 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1179 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1180 /*IN*/ PVOID Buffer,
sca8er 2:5853bf44af9f 1181 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 1182 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1183
sca8er 2:5853bf44af9f 1184 NTOSAPI
sca8er 2:5853bf44af9f 1185 NTSTATUS
sca8er 2:5853bf44af9f 1186 NTAPI
sca8er 2:5853bf44af9f 1187 NtProtectVirtualMemory(
sca8er 2:5853bf44af9f 1188 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1189 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1190 /*IN OUT*/ PULONG ProtectSize,
sca8er 2:5853bf44af9f 1191 /*IN*/ ULONG NewProtect,
sca8er 2:5853bf44af9f 1192 /*OUT*/ PULONG OldProtect);
sca8er 2:5853bf44af9f 1193
sca8er 2:5853bf44af9f 1194 NTOSAPI
sca8er 2:5853bf44af9f 1195 NTSTATUS
sca8er 2:5853bf44af9f 1196 NTAPI
sca8er 2:5853bf44af9f 1197 ZwProtectVirtualMemory(
sca8er 2:5853bf44af9f 1198 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1199 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1200 /*IN OUT*/ PULONG ProtectSize,
sca8er 2:5853bf44af9f 1201 /*IN*/ ULONG NewProtect,
sca8er 2:5853bf44af9f 1202 /*OUT*/ PULONG OldProtect);
sca8er 2:5853bf44af9f 1203
sca8er 2:5853bf44af9f 1204 NTOSAPI
sca8er 2:5853bf44af9f 1205 NTSTATUS
sca8er 2:5853bf44af9f 1206 NTAPI
sca8er 2:5853bf44af9f 1207 NtFlushVirtualMemory(
sca8er 2:5853bf44af9f 1208 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1209 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1210 /*IN OUT*/ PULONG FlushSize,
sca8er 2:5853bf44af9f 1211 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
sca8er 2:5853bf44af9f 1212
sca8er 2:5853bf44af9f 1213 NTOSAPI
sca8er 2:5853bf44af9f 1214 NTSTATUS
sca8er 2:5853bf44af9f 1215 NTAPI
sca8er 2:5853bf44af9f 1216 ZwFlushVirtualMemory(
sca8er 2:5853bf44af9f 1217 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1218 /*IN OUT*/ PVOID *BaseAddress,
sca8er 2:5853bf44af9f 1219 /*IN OUT*/ PULONG FlushSize,
sca8er 2:5853bf44af9f 1220 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
sca8er 2:5853bf44af9f 1221
sca8er 2:5853bf44af9f 1222 NTOSAPI
sca8er 2:5853bf44af9f 1223 NTSTATUS
sca8er 2:5853bf44af9f 1224 NTAPI
sca8er 2:5853bf44af9f 1225 NtAllocateUserPhysicalPages(
sca8er 2:5853bf44af9f 1226 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1227 /*IN*/ PULONG NumberOfPages,
sca8er 2:5853bf44af9f 1228 /*OUT*/ PULONG PageFrameNumbers);
sca8er 2:5853bf44af9f 1229
sca8er 2:5853bf44af9f 1230 NTOSAPI
sca8er 2:5853bf44af9f 1231 NTSTATUS
sca8er 2:5853bf44af9f 1232 NTAPI
sca8er 2:5853bf44af9f 1233 ZwAllocateUserPhysicalPages(
sca8er 2:5853bf44af9f 1234 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1235 /*IN*/ PULONG NumberOfPages,
sca8er 2:5853bf44af9f 1236 /*OUT*/ PULONG PageFrameNumbers);
sca8er 2:5853bf44af9f 1237
sca8er 2:5853bf44af9f 1238 NTOSAPI
sca8er 2:5853bf44af9f 1239 NTSTATUS
sca8er 2:5853bf44af9f 1240 NTAPI
sca8er 2:5853bf44af9f 1241 NtFreeUserPhysicalPages(
sca8er 2:5853bf44af9f 1242 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1243 /*IN OUT*/ PULONG NumberOfPages,
sca8er 2:5853bf44af9f 1244 /*IN*/ PULONG PageFrameNumbers);
sca8er 2:5853bf44af9f 1245
sca8er 2:5853bf44af9f 1246 NTOSAPI
sca8er 2:5853bf44af9f 1247 NTSTATUS
sca8er 2:5853bf44af9f 1248 NTAPI
sca8er 2:5853bf44af9f 1249 ZwFreeUserPhysicalPages(
sca8er 2:5853bf44af9f 1250 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1251 /*IN OUT*/ PULONG NumberOfPages,
sca8er 2:5853bf44af9f 1252 /*IN*/ PULONG PageFrameNumbers);
sca8er 2:5853bf44af9f 1253
sca8er 2:5853bf44af9f 1254 NTOSAPI
sca8er 2:5853bf44af9f 1255 NTSTATUS
sca8er 2:5853bf44af9f 1256 NTAPI
sca8er 2:5853bf44af9f 1257 NtMapUserPhysicalPages(
sca8er 2:5853bf44af9f 1258 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1259 /*IN*/ PULONG NumberOfPages,
sca8er 2:5853bf44af9f 1260 /*IN*/ PULONG PageFrameNumbers);
sca8er 2:5853bf44af9f 1261
sca8er 2:5853bf44af9f 1262 NTOSAPI
sca8er 2:5853bf44af9f 1263 NTSTATUS
sca8er 2:5853bf44af9f 1264 NTAPI
sca8er 2:5853bf44af9f 1265 ZwMapUserPhysicalPages(
sca8er 2:5853bf44af9f 1266 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1267 /*IN*/ PULONG NumberOfPages,
sca8er 2:5853bf44af9f 1268 /*IN*/ PULONG PageFrameNumbers);
sca8er 2:5853bf44af9f 1269
sca8er 2:5853bf44af9f 1270 NTOSAPI
sca8er 2:5853bf44af9f 1271 NTSTATUS
sca8er 2:5853bf44af9f 1272 NTAPI
sca8er 2:5853bf44af9f 1273 NtMapUserPhysicalPagesScatter(
sca8er 2:5853bf44af9f 1274 /*IN*/ PVOID *BaseAddresses,
sca8er 2:5853bf44af9f 1275 /*IN*/ PULONG NumberOfPages,
sca8er 2:5853bf44af9f 1276 /*IN*/ PULONG PageFrameNumbers);
sca8er 2:5853bf44af9f 1277
sca8er 2:5853bf44af9f 1278 NTOSAPI
sca8er 2:5853bf44af9f 1279 NTSTATUS
sca8er 2:5853bf44af9f 1280 NTAPI
sca8er 2:5853bf44af9f 1281 ZwMapUserPhysicalPagesScatter(
sca8er 2:5853bf44af9f 1282 /*IN*/ PVOID *BaseAddresses,
sca8er 2:5853bf44af9f 1283 /*IN*/ PULONG NumberOfPages,
sca8er 2:5853bf44af9f 1284 /*IN*/ PULONG PageFrameNumbers);
sca8er 2:5853bf44af9f 1285
sca8er 2:5853bf44af9f 1286 NTOSAPI
sca8er 2:5853bf44af9f 1287 NTSTATUS
sca8er 2:5853bf44af9f 1288 NTAPI
sca8er 2:5853bf44af9f 1289 NtGetWriteWatch(
sca8er 2:5853bf44af9f 1290 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1291 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 1292 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1293 /*IN*/ ULONG RegionSize,
sca8er 2:5853bf44af9f 1294 /*OUT*/ PULONG Buffer,
sca8er 2:5853bf44af9f 1295 /*IN OUT*/ PULONG BufferEntries,
sca8er 2:5853bf44af9f 1296 /*OUT*/ PULONG Granularity);
sca8er 2:5853bf44af9f 1297
sca8er 2:5853bf44af9f 1298 NTOSAPI
sca8er 2:5853bf44af9f 1299 NTSTATUS
sca8er 2:5853bf44af9f 1300 NTAPI
sca8er 2:5853bf44af9f 1301 ZwGetWriteWatch(
sca8er 2:5853bf44af9f 1302 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1303 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 1304 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1305 /*IN*/ ULONG RegionSize,
sca8er 2:5853bf44af9f 1306 /*OUT*/ PULONG Buffer,
sca8er 2:5853bf44af9f 1307 /*IN OUT*/ PULONG BufferEntries,
sca8er 2:5853bf44af9f 1308 /*OUT*/ PULONG Granularity);
sca8er 2:5853bf44af9f 1309
sca8er 2:5853bf44af9f 1310 NTOSAPI
sca8er 2:5853bf44af9f 1311 NTSTATUS
sca8er 2:5853bf44af9f 1312 NTAPI
sca8er 2:5853bf44af9f 1313 NtResetWriteWatch(
sca8er 2:5853bf44af9f 1314 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1315 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1316 /*IN*/ ULONG RegionSize);
sca8er 2:5853bf44af9f 1317
sca8er 2:5853bf44af9f 1318 NTOSAPI
sca8er 2:5853bf44af9f 1319 NTSTATUS
sca8er 2:5853bf44af9f 1320 NTAPI
sca8er 2:5853bf44af9f 1321 ZwResetWriteWatch(
sca8er 2:5853bf44af9f 1322 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1323 /*IN*/ PVOID BaseAddress,
sca8er 2:5853bf44af9f 1324 /*IN*/ ULONG RegionSize);
sca8er 2:5853bf44af9f 1325
sca8er 2:5853bf44af9f 1326
sca8er 2:5853bf44af9f 1327
sca8er 2:5853bf44af9f 1328
sca8er 2:5853bf44af9f 1329 /* Sections */
sca8er 2:5853bf44af9f 1330
sca8er 2:5853bf44af9f 1331 typedef enum _SECTION_INFORMATION_CLASS {
sca8er 2:5853bf44af9f 1332 SectionBasicInformation,
sca8er 2:5853bf44af9f 1333 SectionImageInformation
sca8er 2:5853bf44af9f 1334 } SECTION_INFORMATION_CLASS;
sca8er 2:5853bf44af9f 1335
sca8er 2:5853bf44af9f 1336 NTOSAPI
sca8er 2:5853bf44af9f 1337 NTSTATUS
sca8er 2:5853bf44af9f 1338 NTAPI
sca8er 2:5853bf44af9f 1339 NtCreateSection(
sca8er 2:5853bf44af9f 1340 /*OUT*/ PHANDLE SectionHandle,
sca8er 2:5853bf44af9f 1341 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 1342 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 1343 /*IN*/ PLARGE_INTEGER SectionSize /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1344 /*IN*/ ULONG Protect,
sca8er 2:5853bf44af9f 1345 /*IN*/ ULONG Attributes,
sca8er 2:5853bf44af9f 1346 /*IN*/ HANDLE FileHandle);
sca8er 2:5853bf44af9f 1347
sca8er 2:5853bf44af9f 1348 NTOSAPI
sca8er 2:5853bf44af9f 1349 NTSTATUS
sca8er 2:5853bf44af9f 1350 NTAPI
sca8er 2:5853bf44af9f 1351 ZwCreateSection(
sca8er 2:5853bf44af9f 1352 /*OUT*/ PHANDLE SectionHandle,
sca8er 2:5853bf44af9f 1353 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 1354 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 1355 /*IN*/ PLARGE_INTEGER SectionSize /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1356 /*IN*/ ULONG Protect,
sca8er 2:5853bf44af9f 1357 /*IN*/ ULONG Attributes,
sca8er 2:5853bf44af9f 1358 /*IN*/ HANDLE FileHandle);
sca8er 2:5853bf44af9f 1359
sca8er 2:5853bf44af9f 1360 NTOSAPI
sca8er 2:5853bf44af9f 1361 NTSTATUS
sca8er 2:5853bf44af9f 1362 NTAPI
sca8er 2:5853bf44af9f 1363 NtQuerySection(
sca8er 2:5853bf44af9f 1364 /*IN*/ HANDLE SectionHandle,
sca8er 2:5853bf44af9f 1365 /*IN*/ SECTION_INFORMATION_CLASS SectionInformationClass,
sca8er 2:5853bf44af9f 1366 /*OUT*/ PVOID SectionInformation,
sca8er 2:5853bf44af9f 1367 /*IN*/ ULONG SectionInformationLength,
sca8er 2:5853bf44af9f 1368 /*OUT*/ PULONG ResultLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1369
sca8er 2:5853bf44af9f 1370 NTOSAPI
sca8er 2:5853bf44af9f 1371 NTSTATUS
sca8er 2:5853bf44af9f 1372 NTAPI
sca8er 2:5853bf44af9f 1373 ZwQuerySection(
sca8er 2:5853bf44af9f 1374 /*IN*/ HANDLE SectionHandle,
sca8er 2:5853bf44af9f 1375 /*IN*/ SECTION_INFORMATION_CLASS SectionInformationClass,
sca8er 2:5853bf44af9f 1376 /*OUT*/ PVOID SectionInformation,
sca8er 2:5853bf44af9f 1377 /*IN*/ ULONG SectionInformationLength,
sca8er 2:5853bf44af9f 1378 /*OUT*/ PULONG ResultLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1379
sca8er 2:5853bf44af9f 1380 NTOSAPI
sca8er 2:5853bf44af9f 1381 NTSTATUS
sca8er 2:5853bf44af9f 1382 NTAPI
sca8er 2:5853bf44af9f 1383 NtExtendSection(
sca8er 2:5853bf44af9f 1384 /*IN*/ HANDLE SectionHandle,
sca8er 2:5853bf44af9f 1385 /*IN*/ PLARGE_INTEGER SectionSize);
sca8er 2:5853bf44af9f 1386
sca8er 2:5853bf44af9f 1387 NTOSAPI
sca8er 2:5853bf44af9f 1388 NTSTATUS
sca8er 2:5853bf44af9f 1389 NTAPI
sca8er 2:5853bf44af9f 1390 ZwExtendSection(
sca8er 2:5853bf44af9f 1391 /*IN*/ HANDLE SectionHandle,
sca8er 2:5853bf44af9f 1392 /*IN*/ PLARGE_INTEGER SectionSize);
sca8er 2:5853bf44af9f 1393
sca8er 2:5853bf44af9f 1394 NTOSAPI
sca8er 2:5853bf44af9f 1395 NTSTATUS
sca8er 2:5853bf44af9f 1396 NTAPI
sca8er 2:5853bf44af9f 1397 NtAreMappedFilesTheSame(
sca8er 2:5853bf44af9f 1398 /*IN*/ PVOID Address1,
sca8er 2:5853bf44af9f 1399 /*IN*/ PVOID Address2);
sca8er 2:5853bf44af9f 1400
sca8er 2:5853bf44af9f 1401 NTOSAPI
sca8er 2:5853bf44af9f 1402 NTSTATUS
sca8er 2:5853bf44af9f 1403 NTAPI
sca8er 2:5853bf44af9f 1404 ZwAreMappedFilesTheSame(
sca8er 2:5853bf44af9f 1405 /*IN*/ PVOID Address1,
sca8er 2:5853bf44af9f 1406 /*IN*/ PVOID Address2);
sca8er 2:5853bf44af9f 1407
sca8er 2:5853bf44af9f 1408
sca8er 2:5853bf44af9f 1409
sca8er 2:5853bf44af9f 1410
sca8er 2:5853bf44af9f 1411 /* Threads */
sca8er 2:5853bf44af9f 1412
sca8er 2:5853bf44af9f 1413 typedef struct _USER_STACK {
sca8er 2:5853bf44af9f 1414 PVOID FixedStackBase;
sca8er 2:5853bf44af9f 1415 PVOID FixedStackLimit;
sca8er 2:5853bf44af9f 1416 PVOID ExpandableStackBase;
sca8er 2:5853bf44af9f 1417 PVOID ExpandableStackLimit;
sca8er 2:5853bf44af9f 1418 PVOID ExpandableStackBottom;
sca8er 2:5853bf44af9f 1419 } USER_STACK, *PUSER_STACK;
sca8er 2:5853bf44af9f 1420
sca8er 2:5853bf44af9f 1421 NTOSAPI
sca8er 2:5853bf44af9f 1422 NTSTATUS
sca8er 2:5853bf44af9f 1423 NTAPI
sca8er 2:5853bf44af9f 1424 NtCreateThread(
sca8er 2:5853bf44af9f 1425 /*OUT*/ PHANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1426 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 1427 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 1428 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1429 /*OUT*/ PCLIENT_ID ClientId,
sca8er 2:5853bf44af9f 1430 /*IN*/ PCONTEXT ThreadContext,
sca8er 2:5853bf44af9f 1431 /*IN*/ PUSER_STACK UserStack,
sca8er 2:5853bf44af9f 1432 /*IN*/ BOOLEAN CreateSuspended);
sca8er 2:5853bf44af9f 1433
sca8er 2:5853bf44af9f 1434 NTOSAPI
sca8er 2:5853bf44af9f 1435 NTSTATUS
sca8er 2:5853bf44af9f 1436 NTAPI
sca8er 2:5853bf44af9f 1437 ZwCreateThread(
sca8er 2:5853bf44af9f 1438 /*OUT*/ PHANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1439 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 1440 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 1441 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1442 /*OUT*/ PCLIENT_ID ClientId,
sca8er 2:5853bf44af9f 1443 /*IN*/ PCONTEXT ThreadContext,
sca8er 2:5853bf44af9f 1444 /*IN*/ PUSER_STACK UserStack,
sca8er 2:5853bf44af9f 1445 /*IN*/ BOOLEAN CreateSuspended);
sca8er 2:5853bf44af9f 1446
sca8er 2:5853bf44af9f 1447 NTOSAPI
sca8er 2:5853bf44af9f 1448 NTSTATUS
sca8er 2:5853bf44af9f 1449 NTAPI
sca8er 2:5853bf44af9f 1450 NtOpenThread(
sca8er 2:5853bf44af9f 1451 /*OUT*/ PHANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1452 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 1453 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 1454 /*IN*/ PCLIENT_ID ClientId);
sca8er 2:5853bf44af9f 1455
sca8er 2:5853bf44af9f 1456 NTOSAPI
sca8er 2:5853bf44af9f 1457 NTSTATUS
sca8er 2:5853bf44af9f 1458 NTAPI
sca8er 2:5853bf44af9f 1459 ZwOpenThread(
sca8er 2:5853bf44af9f 1460 /*OUT*/ PHANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1461 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 1462 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 1463 /*IN*/ PCLIENT_ID ClientId);
sca8er 2:5853bf44af9f 1464
sca8er 2:5853bf44af9f 1465 NTOSAPI
sca8er 2:5853bf44af9f 1466 NTSTATUS
sca8er 2:5853bf44af9f 1467 NTAPI
sca8er 2:5853bf44af9f 1468 NtTerminateThread(
sca8er 2:5853bf44af9f 1469 /*IN*/ HANDLE ThreadHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1470 /*IN*/ NTSTATUS ExitStatus);
sca8er 2:5853bf44af9f 1471
sca8er 2:5853bf44af9f 1472 NTOSAPI
sca8er 2:5853bf44af9f 1473 NTSTATUS
sca8er 2:5853bf44af9f 1474 NTAPI
sca8er 2:5853bf44af9f 1475 ZwTerminateThread(
sca8er 2:5853bf44af9f 1476 /*IN*/ HANDLE ThreadHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1477 /*IN*/ NTSTATUS ExitStatus);
sca8er 2:5853bf44af9f 1478
sca8er 2:5853bf44af9f 1479 NTOSAPI
sca8er 2:5853bf44af9f 1480 NTSTATUS
sca8er 2:5853bf44af9f 1481 NTAPI
sca8er 2:5853bf44af9f 1482 NtQueryInformationThread(
sca8er 2:5853bf44af9f 1483 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1484 /*IN*/ THREADINFOCLASS ThreadInformationClass,
sca8er 2:5853bf44af9f 1485 /*OUT*/ PVOID ThreadInformation,
sca8er 2:5853bf44af9f 1486 /*IN*/ ULONG ThreadInformationLength,
sca8er 2:5853bf44af9f 1487 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1488
sca8er 2:5853bf44af9f 1489 NTOSAPI
sca8er 2:5853bf44af9f 1490 NTSTATUS
sca8er 2:5853bf44af9f 1491 NTAPI
sca8er 2:5853bf44af9f 1492 ZwQueryInformationThread(
sca8er 2:5853bf44af9f 1493 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1494 /*IN*/ THREADINFOCLASS ThreadInformationClass,
sca8er 2:5853bf44af9f 1495 /*OUT*/ PVOID ThreadInformation,
sca8er 2:5853bf44af9f 1496 /*IN*/ ULONG ThreadInformationLength,
sca8er 2:5853bf44af9f 1497 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1498
sca8er 2:5853bf44af9f 1499 NTOSAPI
sca8er 2:5853bf44af9f 1500 NTSTATUS
sca8er 2:5853bf44af9f 1501 NTAPI
sca8er 2:5853bf44af9f 1502 NtSetInformationThread(
sca8er 2:5853bf44af9f 1503 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1504 /*IN*/ THREADINFOCLASS ThreadInformationClass,
sca8er 2:5853bf44af9f 1505 /*IN*/ PVOID ThreadInformation,
sca8er 2:5853bf44af9f 1506 /*IN*/ ULONG ThreadInformationLength);
sca8er 2:5853bf44af9f 1507
sca8er 2:5853bf44af9f 1508 NTOSAPI
sca8er 2:5853bf44af9f 1509 NTSTATUS
sca8er 2:5853bf44af9f 1510 NTAPI
sca8er 2:5853bf44af9f 1511 ZwSetInformationThread(
sca8er 2:5853bf44af9f 1512 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1513 /*IN*/ THREADINFOCLASS ThreadInformationClass,
sca8er 2:5853bf44af9f 1514 /*IN*/ PVOID ThreadInformation,
sca8er 2:5853bf44af9f 1515 /*IN*/ ULONG ThreadInformationLength);
sca8er 2:5853bf44af9f 1516
sca8er 2:5853bf44af9f 1517 typedef struct _THREAD_BASIC_INFORMATION {
sca8er 2:5853bf44af9f 1518 NTSTATUS ExitStatus;
sca8er 2:5853bf44af9f 1519 PNT_TIB TebBaseAddress;
sca8er 2:5853bf44af9f 1520 CLIENT_ID ClientId;
sca8er 2:5853bf44af9f 1521 KAFFINITY AffinityMask;
sca8er 2:5853bf44af9f 1522 KPRIORITY Priority;
sca8er 2:5853bf44af9f 1523 KPRIORITY BasePriority;
sca8er 2:5853bf44af9f 1524 } THREAD_BASIC_INFORMATION, *PTHREAD_BASIC_INFORMATION;
sca8er 2:5853bf44af9f 1525
sca8er 2:5853bf44af9f 1526 typedef struct _KERNEL_USER_TIMES {
sca8er 2:5853bf44af9f 1527 LARGE_INTEGER CreateTime;
sca8er 2:5853bf44af9f 1528 LARGE_INTEGER ExitTime;
sca8er 2:5853bf44af9f 1529 LARGE_INTEGER KernelTime;
sca8er 2:5853bf44af9f 1530 LARGE_INTEGER UserTime;
sca8er 2:5853bf44af9f 1531 } KERNEL_USER_TIMES, *PKERNEL_USER_TIMES;
sca8er 2:5853bf44af9f 1532
sca8er 2:5853bf44af9f 1533 NTOSAPI
sca8er 2:5853bf44af9f 1534 NTSTATUS
sca8er 2:5853bf44af9f 1535 NTAPI
sca8er 2:5853bf44af9f 1536 NtSuspendThread(
sca8er 2:5853bf44af9f 1537 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1538 /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1539
sca8er 2:5853bf44af9f 1540 NTOSAPI
sca8er 2:5853bf44af9f 1541 NTSTATUS
sca8er 2:5853bf44af9f 1542 NTAPI
sca8er 2:5853bf44af9f 1543 ZwSuspendThread(
sca8er 2:5853bf44af9f 1544 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1545 /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1546
sca8er 2:5853bf44af9f 1547 NTOSAPI
sca8er 2:5853bf44af9f 1548 NTSTATUS
sca8er 2:5853bf44af9f 1549 NTAPI
sca8er 2:5853bf44af9f 1550 NtResumeThread(
sca8er 2:5853bf44af9f 1551 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1552 /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1553
sca8er 2:5853bf44af9f 1554 NTOSAPI
sca8er 2:5853bf44af9f 1555 NTSTATUS
sca8er 2:5853bf44af9f 1556 NTAPI
sca8er 2:5853bf44af9f 1557 ZwResumeThread(
sca8er 2:5853bf44af9f 1558 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1559 /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1560
sca8er 2:5853bf44af9f 1561 NTOSAPI
sca8er 2:5853bf44af9f 1562 NTSTATUS
sca8er 2:5853bf44af9f 1563 NTAPI
sca8er 2:5853bf44af9f 1564 NtGetContextThread(
sca8er 2:5853bf44af9f 1565 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1566 /*OUT*/ PCONTEXT Context);
sca8er 2:5853bf44af9f 1567
sca8er 2:5853bf44af9f 1568 NTOSAPI
sca8er 2:5853bf44af9f 1569 NTSTATUS
sca8er 2:5853bf44af9f 1570 NTAPI
sca8er 2:5853bf44af9f 1571 ZwGetContextThread(
sca8er 2:5853bf44af9f 1572 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1573 /*OUT*/ PCONTEXT Context);
sca8er 2:5853bf44af9f 1574
sca8er 2:5853bf44af9f 1575 NTOSAPI
sca8er 2:5853bf44af9f 1576 NTSTATUS
sca8er 2:5853bf44af9f 1577 NTAPI
sca8er 2:5853bf44af9f 1578 NtSetContextThread(
sca8er 2:5853bf44af9f 1579 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1580 /*IN*/ PCONTEXT Context);
sca8er 2:5853bf44af9f 1581
sca8er 2:5853bf44af9f 1582 NTOSAPI
sca8er 2:5853bf44af9f 1583 NTSTATUS
sca8er 2:5853bf44af9f 1584 NTAPI
sca8er 2:5853bf44af9f 1585 ZwSetContextThread(
sca8er 2:5853bf44af9f 1586 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1587 /*IN*/ PCONTEXT Context);
sca8er 2:5853bf44af9f 1588
sca8er 2:5853bf44af9f 1589 NTOSAPI
sca8er 2:5853bf44af9f 1590 NTSTATUS
sca8er 2:5853bf44af9f 1591 NTAPI
sca8er 2:5853bf44af9f 1592 NtQueueApcThread(
sca8er 2:5853bf44af9f 1593 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1594 /*IN*/ PKNORMAL_ROUTINE ApcRoutine,
sca8er 2:5853bf44af9f 1595 /*IN*/ PVOID ApcContext /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1596 /*IN*/ PVOID Argument1 /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1597 /*IN*/ PVOID Argument2 /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1598
sca8er 2:5853bf44af9f 1599 NTOSAPI
sca8er 2:5853bf44af9f 1600 NTSTATUS
sca8er 2:5853bf44af9f 1601 NTAPI
sca8er 2:5853bf44af9f 1602 ZwQueueApcThread(
sca8er 2:5853bf44af9f 1603 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1604 /*IN*/ PKNORMAL_ROUTINE ApcRoutine,
sca8er 2:5853bf44af9f 1605 /*IN*/ PVOID ApcContext /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1606 /*IN*/ PVOID Argument1 /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1607 /*IN*/ PVOID Argument2 /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1608
sca8er 2:5853bf44af9f 1609 NTOSAPI
sca8er 2:5853bf44af9f 1610 NTSTATUS
sca8er 2:5853bf44af9f 1611 NTAPI
sca8er 2:5853bf44af9f 1612 NtTestAlert(
sca8er 2:5853bf44af9f 1613 VOID);
sca8er 2:5853bf44af9f 1614
sca8er 2:5853bf44af9f 1615 NTOSAPI
sca8er 2:5853bf44af9f 1616 NTSTATUS
sca8er 2:5853bf44af9f 1617 NTAPI
sca8er 2:5853bf44af9f 1618 ZwTestAlert(
sca8er 2:5853bf44af9f 1619 VOID);
sca8er 2:5853bf44af9f 1620
sca8er 2:5853bf44af9f 1621 NTOSAPI
sca8er 2:5853bf44af9f 1622 NTSTATUS
sca8er 2:5853bf44af9f 1623 NTAPI
sca8er 2:5853bf44af9f 1624 NtAlertThread(
sca8er 2:5853bf44af9f 1625 /*IN*/ HANDLE ThreadHandle);
sca8er 2:5853bf44af9f 1626
sca8er 2:5853bf44af9f 1627 NTOSAPI
sca8er 2:5853bf44af9f 1628 NTSTATUS
sca8er 2:5853bf44af9f 1629 NTAPI
sca8er 2:5853bf44af9f 1630 ZwAlertThread(
sca8er 2:5853bf44af9f 1631 /*IN*/ HANDLE ThreadHandle);
sca8er 2:5853bf44af9f 1632
sca8er 2:5853bf44af9f 1633 NTOSAPI
sca8er 2:5853bf44af9f 1634 NTSTATUS
sca8er 2:5853bf44af9f 1635 NTAPI
sca8er 2:5853bf44af9f 1636 NtAlertResumeThread(
sca8er 2:5853bf44af9f 1637 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1638 /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1639
sca8er 2:5853bf44af9f 1640 NTOSAPI
sca8er 2:5853bf44af9f 1641 NTSTATUS
sca8er 2:5853bf44af9f 1642 NTAPI
sca8er 2:5853bf44af9f 1643 ZwAlertResumeThread(
sca8er 2:5853bf44af9f 1644 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1645 /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1646
sca8er 2:5853bf44af9f 1647 NTOSAPI
sca8er 2:5853bf44af9f 1648 NTSTATUS
sca8er 2:5853bf44af9f 1649 NTAPI
sca8er 2:5853bf44af9f 1650 NtRegisterThreadTerminatePort(
sca8er 2:5853bf44af9f 1651 /*IN*/ HANDLE PortHandle);
sca8er 2:5853bf44af9f 1652
sca8er 2:5853bf44af9f 1653 NTOSAPI
sca8er 2:5853bf44af9f 1654 NTSTATUS
sca8er 2:5853bf44af9f 1655 NTAPI
sca8er 2:5853bf44af9f 1656 ZwRegisterThreadTerminatePort(
sca8er 2:5853bf44af9f 1657 /*IN*/ HANDLE PortHandle);
sca8er 2:5853bf44af9f 1658
sca8er 2:5853bf44af9f 1659 NTOSAPI
sca8er 2:5853bf44af9f 1660 NTSTATUS
sca8er 2:5853bf44af9f 1661 NTAPI
sca8er 2:5853bf44af9f 1662 NtImpersonateThread(
sca8er 2:5853bf44af9f 1663 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1664 /*IN*/ HANDLE TargetThreadHandle,
sca8er 2:5853bf44af9f 1665 /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos);
sca8er 2:5853bf44af9f 1666
sca8er 2:5853bf44af9f 1667 NTOSAPI
sca8er 2:5853bf44af9f 1668 NTSTATUS
sca8er 2:5853bf44af9f 1669 NTAPI
sca8er 2:5853bf44af9f 1670 ZwImpersonateThread(
sca8er 2:5853bf44af9f 1671 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 1672 /*IN*/ HANDLE TargetThreadHandle,
sca8er 2:5853bf44af9f 1673 /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos);
sca8er 2:5853bf44af9f 1674
sca8er 2:5853bf44af9f 1675 NTOSAPI
sca8er 2:5853bf44af9f 1676 NTSTATUS
sca8er 2:5853bf44af9f 1677 NTAPI
sca8er 2:5853bf44af9f 1678 NtImpersonateAnonymousToken(
sca8er 2:5853bf44af9f 1679 /*IN*/ HANDLE ThreadHandle);
sca8er 2:5853bf44af9f 1680
sca8er 2:5853bf44af9f 1681 NTOSAPI
sca8er 2:5853bf44af9f 1682 NTSTATUS
sca8er 2:5853bf44af9f 1683 NTAPI
sca8er 2:5853bf44af9f 1684 ZwImpersonateAnonymousToken(
sca8er 2:5853bf44af9f 1685 /*IN*/ HANDLE ThreadHandle);
sca8er 2:5853bf44af9f 1686
sca8er 2:5853bf44af9f 1687
sca8er 2:5853bf44af9f 1688
sca8er 2:5853bf44af9f 1689
sca8er 2:5853bf44af9f 1690 /* Processes */
sca8er 2:5853bf44af9f 1691
sca8er 2:5853bf44af9f 1692 NTOSAPI
sca8er 2:5853bf44af9f 1693 NTSTATUS
sca8er 2:5853bf44af9f 1694 NTAPI
sca8er 2:5853bf44af9f 1695 NtCreateProcess(
sca8er 2:5853bf44af9f 1696 /*OUT*/ PHANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1697 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 1698 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 1699 /*IN*/ HANDLE InheritFromProcessHandle,
sca8er 2:5853bf44af9f 1700 /*IN*/ BOOLEAN InheritHandles,
sca8er 2:5853bf44af9f 1701 /*IN*/ HANDLE SectionHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1702 /*IN*/ HANDLE DebugPort /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1703 /*IN*/ HANDLE ExceptionPort /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1704
sca8er 2:5853bf44af9f 1705 NTOSAPI
sca8er 2:5853bf44af9f 1706 NTSTATUS
sca8er 2:5853bf44af9f 1707 NTAPI
sca8er 2:5853bf44af9f 1708 ZwCreateProcess(
sca8er 2:5853bf44af9f 1709 /*OUT*/ PHANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1710 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 1711 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 1712 /*IN*/ HANDLE InheritFromProcessHandle,
sca8er 2:5853bf44af9f 1713 /*IN*/ BOOLEAN InheritHandles,
sca8er 2:5853bf44af9f 1714 /*IN*/ HANDLE SectionHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1715 /*IN*/ HANDLE DebugPort /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1716 /*IN*/ HANDLE ExceptionPort /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1717
sca8er 2:5853bf44af9f 1718 NTOSAPI
sca8er 2:5853bf44af9f 1719 NTSTATUS
sca8er 2:5853bf44af9f 1720 NTAPI
sca8er 2:5853bf44af9f 1721 NtTerminateProcess(
sca8er 2:5853bf44af9f 1722 /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1723 /*IN*/ NTSTATUS ExitStatus);
sca8er 2:5853bf44af9f 1724
sca8er 2:5853bf44af9f 1725 NTOSAPI
sca8er 2:5853bf44af9f 1726 NTSTATUS
sca8er 2:5853bf44af9f 1727 NTAPI
sca8er 2:5853bf44af9f 1728 ZwTerminateProcess(
sca8er 2:5853bf44af9f 1729 /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1730 /*IN*/ NTSTATUS ExitStatus);
sca8er 2:5853bf44af9f 1731
sca8er 2:5853bf44af9f 1732 NTOSAPI
sca8er 2:5853bf44af9f 1733 NTSTATUS
sca8er 2:5853bf44af9f 1734 NTAPI
sca8er 2:5853bf44af9f 1735 NtQueryInformationProcess(
sca8er 2:5853bf44af9f 1736 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1737 /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
sca8er 2:5853bf44af9f 1738 /*OUT*/ PVOID ProcessInformation,
sca8er 2:5853bf44af9f 1739 /*IN*/ ULONG ProcessInformationLength,
sca8er 2:5853bf44af9f 1740 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1741
sca8er 2:5853bf44af9f 1742 NTOSAPI
sca8er 2:5853bf44af9f 1743 NTSTATUS
sca8er 2:5853bf44af9f 1744 NTAPI
sca8er 2:5853bf44af9f 1745 ZwQueryInformationProcess(
sca8er 2:5853bf44af9f 1746 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1747 /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
sca8er 2:5853bf44af9f 1748 /*OUT*/ PVOID ProcessInformation,
sca8er 2:5853bf44af9f 1749 /*IN*/ ULONG ProcessInformationLength,
sca8er 2:5853bf44af9f 1750 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1751
sca8er 2:5853bf44af9f 1752 NTOSAPI
sca8er 2:5853bf44af9f 1753 NTSTATUS
sca8er 2:5853bf44af9f 1754 NTAPI
sca8er 2:5853bf44af9f 1755 NtSetInformationProcess(
sca8er 2:5853bf44af9f 1756 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1757 /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
sca8er 2:5853bf44af9f 1758 /*IN*/ PVOID ProcessInformation,
sca8er 2:5853bf44af9f 1759 /*IN*/ ULONG ProcessInformationLength);
sca8er 2:5853bf44af9f 1760
sca8er 2:5853bf44af9f 1761 NTOSAPI
sca8er 2:5853bf44af9f 1762 NTSTATUS
sca8er 2:5853bf44af9f 1763 NTAPI
sca8er 2:5853bf44af9f 1764 ZwSetInformationProcess(
sca8er 2:5853bf44af9f 1765 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 1766 /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
sca8er 2:5853bf44af9f 1767 /*IN*/ PVOID ProcessInformation,
sca8er 2:5853bf44af9f 1768 /*IN*/ ULONG ProcessInformationLength);
sca8er 2:5853bf44af9f 1769
sca8er 2:5853bf44af9f 1770 typedef struct _PROCESS_BASIC_INFORMATION {
sca8er 2:5853bf44af9f 1771 NTSTATUS ExitStatus;
sca8er 2:5853bf44af9f 1772 PPEB PebBaseAddress;
sca8er 2:5853bf44af9f 1773 KAFFINITY AffinityMask;
sca8er 2:5853bf44af9f 1774 KPRIORITY BasePriority;
sca8er 2:5853bf44af9f 1775 ULONG UniqueProcessId;
sca8er 2:5853bf44af9f 1776 ULONG InheritedFromUniqueProcessId;
sca8er 2:5853bf44af9f 1777 } PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;
sca8er 2:5853bf44af9f 1778
sca8er 2:5853bf44af9f 1779 typedef struct _PROCESS_ACCESS_TOKEN {
sca8er 2:5853bf44af9f 1780 HANDLE Token;
sca8er 2:5853bf44af9f 1781 HANDLE Thread;
sca8er 2:5853bf44af9f 1782 } PROCESS_ACCESS_TOKEN, *PPROCESS_ACCESS_TOKEN;
sca8er 2:5853bf44af9f 1783
sca8er 2:5853bf44af9f 1784 /* DefaultHardErrorMode constants */
sca8er 2:5853bf44af9f 1785 /* also in winbase.h */
sca8er 2:5853bf44af9f 1786 #define SEM_FAILCRITICALERRORS 0x0001
sca8er 2:5853bf44af9f 1787 #define SEM_NOGPFAULTERRORBOX 0x0002
sca8er 2:5853bf44af9f 1788 #define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
sca8er 2:5853bf44af9f 1789 #define SEM_NOOPENFILEERRORBOX 0x8000
sca8er 2:5853bf44af9f 1790 /* end winbase.h */
sca8er 2:5853bf44af9f 1791 typedef struct _POOLED_USAGE_AND_LIMITS {
sca8er 2:5853bf44af9f 1792 ULONG PeakPagedPoolUsage;
sca8er 2:5853bf44af9f 1793 ULONG PagedPoolUsage;
sca8er 2:5853bf44af9f 1794 ULONG PagedPoolLimit;
sca8er 2:5853bf44af9f 1795 ULONG PeakNonPagedPoolUsage;
sca8er 2:5853bf44af9f 1796 ULONG NonPagedPoolUsage;
sca8er 2:5853bf44af9f 1797 ULONG NonPagedPoolLimit;
sca8er 2:5853bf44af9f 1798 ULONG PeakPagefileUsage;
sca8er 2:5853bf44af9f 1799 ULONG PagefileUsage;
sca8er 2:5853bf44af9f 1800 ULONG PagefileLimit;
sca8er 2:5853bf44af9f 1801 } POOLED_USAGE_AND_LIMITS, *PPOOLED_USAGE_AND_LIMITS;
sca8er 2:5853bf44af9f 1802
sca8er 2:5853bf44af9f 1803 typedef struct _PROCESS_WS_WATCH_INFORMATION {
sca8er 2:5853bf44af9f 1804 PVOID FaultingPc;
sca8er 2:5853bf44af9f 1805 PVOID FaultingVa;
sca8er 2:5853bf44af9f 1806 } PROCESS_WS_WATCH_INFORMATION, *PPROCESS_WS_WATCH_INFORMATION;
sca8er 2:5853bf44af9f 1807
sca8er 2:5853bf44af9f 1808 /* PROCESS_PRIORITY_CLASS.PriorityClass constants */
sca8er 2:5853bf44af9f 1809 #define PC_IDLE 1
sca8er 2:5853bf44af9f 1810 #define PC_NORMAL 2
sca8er 2:5853bf44af9f 1811 #define PC_HIGH 3
sca8er 2:5853bf44af9f 1812 #define PC_REALTIME 4
sca8er 2:5853bf44af9f 1813 #define PC_BELOW_NORMAL 5
sca8er 2:5853bf44af9f 1814 #define PC_ABOVE_NORMAL 6
sca8er 2:5853bf44af9f 1815
sca8er 2:5853bf44af9f 1816 typedef struct _PROCESS_PRIORITY_CLASS {
sca8er 2:5853bf44af9f 1817 BOOLEAN Foreground;
sca8er 2:5853bf44af9f 1818 UCHAR PriorityClass;
sca8er 2:5853bf44af9f 1819 } PROCESS_PRIORITY_CLASS, *PPROCESS_PRIORITY_CLASS;
sca8er 2:5853bf44af9f 1820
sca8er 2:5853bf44af9f 1821 /* PROCESS_DEVICEMAP_INFORMATION.DriveType constants */
sca8er 2:5853bf44af9f 1822 #define DRIVE_UNKNOWN 0
sca8er 2:5853bf44af9f 1823 #define DRIVE_NO_ROOT_DIR 1
sca8er 2:5853bf44af9f 1824 #define DRIVE_REMOVABLE 2
sca8er 2:5853bf44af9f 1825 #define DRIVE_FIXED 3
sca8er 2:5853bf44af9f 1826 #define DRIVE_REMOTE 4
sca8er 2:5853bf44af9f 1827 #define DRIVE_CDROM 5
sca8er 2:5853bf44af9f 1828 #define DRIVE_RAMDISK 6
sca8er 2:5853bf44af9f 1829
sca8er 2:5853bf44af9f 1830 typedef struct _PROCESS_DEVICEMAP_INFORMATION {
sca8er 2:5853bf44af9f 1831 _ANONYMOUS_UNION union {
sca8er 2:5853bf44af9f 1832 struct {
sca8er 2:5853bf44af9f 1833 HANDLE DirectoryHandle;
sca8er 2:5853bf44af9f 1834 } Set;
sca8er 2:5853bf44af9f 1835 struct {
sca8er 2:5853bf44af9f 1836 ULONG DriveMap;
sca8er 2:5853bf44af9f 1837 UCHAR DriveType[32];
sca8er 2:5853bf44af9f 1838 } Query;
sca8er 2:5853bf44af9f 1839 } DUMMYUNIONNAME;
sca8er 2:5853bf44af9f 1840 } PROCESS_DEVICEMAP_INFORMATION, *PPROCESS_DEVICEMAP_INFORMATION;
sca8er 2:5853bf44af9f 1841
sca8er 2:5853bf44af9f 1842 typedef struct _PROCESS_SESSION_INFORMATION {
sca8er 2:5853bf44af9f 1843 ULONG SessionId;
sca8er 2:5853bf44af9f 1844 } PROCESS_SESSION_INFORMATION, *PPROCESS_SESSION_INFORMATION;
sca8er 2:5853bf44af9f 1845
sca8er 2:5853bf44af9f 1846 typedef struct _RTL_USER_PROCESS_PARAMETERS {
sca8er 2:5853bf44af9f 1847 ULONG AllocationSize;
sca8er 2:5853bf44af9f 1848 ULONG Size;
sca8er 2:5853bf44af9f 1849 ULONG Flags;
sca8er 2:5853bf44af9f 1850 ULONG DebugFlags;
sca8er 2:5853bf44af9f 1851 HANDLE hConsole;
sca8er 2:5853bf44af9f 1852 ULONG ProcessGroup;
sca8er 2:5853bf44af9f 1853 HANDLE hStdInput;
sca8er 2:5853bf44af9f 1854 HANDLE hStdOutput;
sca8er 2:5853bf44af9f 1855 HANDLE hStdError;
sca8er 2:5853bf44af9f 1856 UNICODE_STRING CurrentDirectoryName;
sca8er 2:5853bf44af9f 1857 HANDLE CurrentDirectoryHandle;
sca8er 2:5853bf44af9f 1858 UNICODE_STRING DllPath;
sca8er 2:5853bf44af9f 1859 UNICODE_STRING ImagePathName;
sca8er 2:5853bf44af9f 1860 UNICODE_STRING CommandLine;
sca8er 2:5853bf44af9f 1861 PWSTR Environment;
sca8er 2:5853bf44af9f 1862 ULONG dwX;
sca8er 2:5853bf44af9f 1863 ULONG dwY;
sca8er 2:5853bf44af9f 1864 ULONG dwXSize;
sca8er 2:5853bf44af9f 1865 ULONG dwYSize;
sca8er 2:5853bf44af9f 1866 ULONG dwXCountChars;
sca8er 2:5853bf44af9f 1867 ULONG dwYCountChars;
sca8er 2:5853bf44af9f 1868 ULONG dwFillAttribute;
sca8er 2:5853bf44af9f 1869 ULONG dwFlags;
sca8er 2:5853bf44af9f 1870 ULONG wShowWindow;
sca8er 2:5853bf44af9f 1871 UNICODE_STRING WindowTitle;
sca8er 2:5853bf44af9f 1872 UNICODE_STRING DesktopInfo;
sca8er 2:5853bf44af9f 1873 UNICODE_STRING ShellInfo;
sca8er 2:5853bf44af9f 1874 UNICODE_STRING RuntimeInfo;
sca8er 2:5853bf44af9f 1875 } RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
sca8er 2:5853bf44af9f 1876
sca8er 2:5853bf44af9f 1877 NTSTATUS
sca8er 2:5853bf44af9f 1878 NTAPI
sca8er 2:5853bf44af9f 1879 RtlCreateProcessParameters(
sca8er 2:5853bf44af9f 1880 /*OUT*/ PRTL_USER_PROCESS_PARAMETERS *ProcessParameters,
sca8er 2:5853bf44af9f 1881 /*IN*/ PUNICODE_STRING ImageFile,
sca8er 2:5853bf44af9f 1882 /*IN*/ PUNICODE_STRING DllPath /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1883 /*IN*/ PUNICODE_STRING CurrentDirectory /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1884 /*IN*/ PUNICODE_STRING CommandLine /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1885 /*IN*/ PWSTR Environment /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1886 /*IN*/ PUNICODE_STRING WindowTitle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1887 /*IN*/ PUNICODE_STRING DesktopInfo /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1888 /*IN*/ PUNICODE_STRING ShellInfo /*OPTIONAL*/,
sca8er 2:5853bf44af9f 1889 /*IN*/ PUNICODE_STRING RuntimeInfo /*OPTIONAL*/);
sca8er 2:5853bf44af9f 1890
sca8er 2:5853bf44af9f 1891 NTSTATUS
sca8er 2:5853bf44af9f 1892 NTAPI
sca8er 2:5853bf44af9f 1893 RtlDestroyProcessParameters(
sca8er 2:5853bf44af9f 1894 /*IN*/ PRTL_USER_PROCESS_PARAMETERS ProcessParameters);
sca8er 2:5853bf44af9f 1895
sca8er 2:5853bf44af9f 1896 typedef struct _DEBUG_BUFFER {
sca8er 2:5853bf44af9f 1897 HANDLE SectionHandle;
sca8er 2:5853bf44af9f 1898 PVOID SectionBase;
sca8er 2:5853bf44af9f 1899 PVOID RemoteSectionBase;
sca8er 2:5853bf44af9f 1900 ULONG SectionBaseDelta;
sca8er 2:5853bf44af9f 1901 HANDLE EventPairHandle;
sca8er 2:5853bf44af9f 1902 ULONG Unknown[2];
sca8er 2:5853bf44af9f 1903 HANDLE RemoteThreadHandle;
sca8er 2:5853bf44af9f 1904 ULONG InfoClassMask;
sca8er 2:5853bf44af9f 1905 ULONG SizeOfInfo;
sca8er 2:5853bf44af9f 1906 ULONG AllocatedSize;
sca8er 2:5853bf44af9f 1907 ULONG SectionSize;
sca8er 2:5853bf44af9f 1908 PVOID ModuleInformation;
sca8er 2:5853bf44af9f 1909 PVOID BackTraceInformation;
sca8er 2:5853bf44af9f 1910 PVOID HeapInformation;
sca8er 2:5853bf44af9f 1911 PVOID LockInformation;
sca8er 2:5853bf44af9f 1912 PVOID Reserved[8];
sca8er 2:5853bf44af9f 1913 } DEBUG_BUFFER, *PDEBUG_BUFFER;
sca8er 2:5853bf44af9f 1914
sca8er 2:5853bf44af9f 1915 PDEBUG_BUFFER
sca8er 2:5853bf44af9f 1916 NTAPI
sca8er 2:5853bf44af9f 1917 RtlCreateQueryDebugBuffer(
sca8er 2:5853bf44af9f 1918 /*IN*/ ULONG Size,
sca8er 2:5853bf44af9f 1919 /*IN*/ BOOLEAN EventPair);
sca8er 2:5853bf44af9f 1920
sca8er 2:5853bf44af9f 1921 /* RtlQueryProcessDebugInformation.DebugInfoClassMask constants */
sca8er 2:5853bf44af9f 1922 #define PDI_MODULES 0x01
sca8er 2:5853bf44af9f 1923 #define PDI_BACKTRACE 0x02
sca8er 2:5853bf44af9f 1924 #define PDI_HEAPS 0x04
sca8er 2:5853bf44af9f 1925 #define PDI_HEAP_TAGS 0x08
sca8er 2:5853bf44af9f 1926 #define PDI_HEAP_BLOCKS 0x10
sca8er 2:5853bf44af9f 1927 #define PDI_LOCKS 0x20
sca8er 2:5853bf44af9f 1928
sca8er 2:5853bf44af9f 1929 NTSTATUS
sca8er 2:5853bf44af9f 1930 NTAPI
sca8er 2:5853bf44af9f 1931 RtlQueryProcessDebugInformation(
sca8er 2:5853bf44af9f 1932 /*IN*/ ULONG ProcessId,
sca8er 2:5853bf44af9f 1933 /*IN*/ ULONG DebugInfoClassMask,
sca8er 2:5853bf44af9f 1934 /*IN OUT*/ PDEBUG_BUFFER DebugBuffer);
sca8er 2:5853bf44af9f 1935
sca8er 2:5853bf44af9f 1936 NTSTATUS
sca8er 2:5853bf44af9f 1937 NTAPI
sca8er 2:5853bf44af9f 1938 RtlDestroyQueryDebugBuffer(
sca8er 2:5853bf44af9f 1939 /*IN*/ PDEBUG_BUFFER DebugBuffer);
sca8er 2:5853bf44af9f 1940
sca8er 2:5853bf44af9f 1941 /* DEBUG_MODULE_INFORMATION.Flags constants */
sca8er 2:5853bf44af9f 1942 #define LDRP_STATIC_LINK 0x00000002
sca8er 2:5853bf44af9f 1943 #define LDRP_IMAGE_DLL 0x00000004
sca8er 2:5853bf44af9f 1944 #define LDRP_LOAD_IN_PROGRESS 0x00001000
sca8er 2:5853bf44af9f 1945 #define LDRP_UNLOAD_IN_PROGRESS 0x00002000
sca8er 2:5853bf44af9f 1946 #define LDRP_ENTRY_PROCESSED 0x00004000
sca8er 2:5853bf44af9f 1947 #define LDRP_ENTRY_INSERTED 0x00008000
sca8er 2:5853bf44af9f 1948 #define LDRP_CURRENT_LOAD 0x00010000
sca8er 2:5853bf44af9f 1949 #define LDRP_FAILED_BUILTIN_LOAD 0x00020000
sca8er 2:5853bf44af9f 1950 #define LDRP_DONT_CALL_FOR_THREADS 0x00040000
sca8er 2:5853bf44af9f 1951 #define LDRP_PROCESS_ATTACH_CALLED 0x00080000
sca8er 2:5853bf44af9f 1952 #define LDRP_DEBUG_SYMBOLS_LOADED 0x00100000
sca8er 2:5853bf44af9f 1953 #define LDRP_IMAGE_NOT_AT_BASE 0x00200000
sca8er 2:5853bf44af9f 1954 #define LDRP_WX86_IGNORE_MACHINETYPE 0x00400000
sca8er 2:5853bf44af9f 1955
sca8er 2:5853bf44af9f 1956 typedef struct _DEBUG_MODULE_INFORMATION {
sca8er 2:5853bf44af9f 1957 ULONG Reserved[2];
sca8er 2:5853bf44af9f 1958 ULONG Base;
sca8er 2:5853bf44af9f 1959 ULONG Size;
sca8er 2:5853bf44af9f 1960 ULONG Flags;
sca8er 2:5853bf44af9f 1961 USHORT Index;
sca8er 2:5853bf44af9f 1962 USHORT Unknown;
sca8er 2:5853bf44af9f 1963 USHORT LoadCount;
sca8er 2:5853bf44af9f 1964 USHORT ModuleNameOffset;
sca8er 2:5853bf44af9f 1965 CHAR ImageName[256];
sca8er 2:5853bf44af9f 1966 } DEBUG_MODULE_INFORMATION, *PDEBUG_MODULE_INFORMATION;
sca8er 2:5853bf44af9f 1967
sca8er 2:5853bf44af9f 1968 typedef struct _DEBUG_HEAP_INFORMATION {
sca8er 2:5853bf44af9f 1969 ULONG Base;
sca8er 2:5853bf44af9f 1970 ULONG Flags;
sca8er 2:5853bf44af9f 1971 USHORT Granularity;
sca8er 2:5853bf44af9f 1972 USHORT Unknown;
sca8er 2:5853bf44af9f 1973 ULONG Allocated;
sca8er 2:5853bf44af9f 1974 ULONG Committed;
sca8er 2:5853bf44af9f 1975 ULONG TagCount;
sca8er 2:5853bf44af9f 1976 ULONG BlockCount;
sca8er 2:5853bf44af9f 1977 ULONG Reserved[7];
sca8er 2:5853bf44af9f 1978 PVOID Tags;
sca8er 2:5853bf44af9f 1979 PVOID Blocks;
sca8er 2:5853bf44af9f 1980 } DEBUG_HEAP_INFORMATION, *PDEBUG_HEAP_INFORMATION;
sca8er 2:5853bf44af9f 1981
sca8er 2:5853bf44af9f 1982 typedef struct _DEBUG_LOCK_INFORMATION {
sca8er 2:5853bf44af9f 1983 PVOID Address;
sca8er 2:5853bf44af9f 1984 USHORT Type;
sca8er 2:5853bf44af9f 1985 USHORT CreatorBackTraceIndex;
sca8er 2:5853bf44af9f 1986 ULONG OwnerThreadId;
sca8er 2:5853bf44af9f 1987 ULONG ActiveCount;
sca8er 2:5853bf44af9f 1988 ULONG ContentionCount;
sca8er 2:5853bf44af9f 1989 ULONG EntryCount;
sca8er 2:5853bf44af9f 1990 ULONG RecursionCount;
sca8er 2:5853bf44af9f 1991 ULONG NumberOfSharedWaiters;
sca8er 2:5853bf44af9f 1992 ULONG NumberOfExclusiveWaiters;
sca8er 2:5853bf44af9f 1993 } DEBUG_LOCK_INFORMATION, *PDEBUG_LOCK_INFORMATION;
sca8er 2:5853bf44af9f 1994
sca8er 2:5853bf44af9f 1995
sca8er 2:5853bf44af9f 1996
sca8er 2:5853bf44af9f 1997 /* Jobs */
sca8er 2:5853bf44af9f 1998
sca8er 2:5853bf44af9f 1999 NTOSAPI
sca8er 2:5853bf44af9f 2000 NTSTATUS
sca8er 2:5853bf44af9f 2001 NTAPI
sca8er 2:5853bf44af9f 2002 NtCreateJobObject(
sca8er 2:5853bf44af9f 2003 /*OUT*/ PHANDLE JobHandle,
sca8er 2:5853bf44af9f 2004 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2005 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
sca8er 2:5853bf44af9f 2006
sca8er 2:5853bf44af9f 2007 NTOSAPI
sca8er 2:5853bf44af9f 2008 NTSTATUS
sca8er 2:5853bf44af9f 2009 NTAPI
sca8er 2:5853bf44af9f 2010 ZwCreateJobObject(
sca8er 2:5853bf44af9f 2011 /*OUT*/ PHANDLE JobHandle,
sca8er 2:5853bf44af9f 2012 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2013 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
sca8er 2:5853bf44af9f 2014
sca8er 2:5853bf44af9f 2015 NTOSAPI
sca8er 2:5853bf44af9f 2016 NTSTATUS
sca8er 2:5853bf44af9f 2017 NTAPI
sca8er 2:5853bf44af9f 2018 NtOpenJobObject(
sca8er 2:5853bf44af9f 2019 /*OUT*/ PHANDLE JobHandle,
sca8er 2:5853bf44af9f 2020 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2021 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
sca8er 2:5853bf44af9f 2022
sca8er 2:5853bf44af9f 2023 NTOSAPI
sca8er 2:5853bf44af9f 2024 NTSTATUS
sca8er 2:5853bf44af9f 2025 NTAPI
sca8er 2:5853bf44af9f 2026 ZwOpenJobObject(
sca8er 2:5853bf44af9f 2027 /*OUT*/ PHANDLE JobHandle,
sca8er 2:5853bf44af9f 2028 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2029 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
sca8er 2:5853bf44af9f 2030
sca8er 2:5853bf44af9f 2031 NTOSAPI
sca8er 2:5853bf44af9f 2032 NTSTATUS
sca8er 2:5853bf44af9f 2033 NTAPI
sca8er 2:5853bf44af9f 2034 NtTerminateJobObject(
sca8er 2:5853bf44af9f 2035 /*IN*/ HANDLE JobHandle,
sca8er 2:5853bf44af9f 2036 /*IN*/ NTSTATUS ExitStatus);
sca8er 2:5853bf44af9f 2037
sca8er 2:5853bf44af9f 2038 NTOSAPI
sca8er 2:5853bf44af9f 2039 NTSTATUS
sca8er 2:5853bf44af9f 2040 NTAPI
sca8er 2:5853bf44af9f 2041 ZwTerminateJobObject(
sca8er 2:5853bf44af9f 2042 /*IN*/ HANDLE JobHandle,
sca8er 2:5853bf44af9f 2043 /*IN*/ NTSTATUS ExitStatus);
sca8er 2:5853bf44af9f 2044
sca8er 2:5853bf44af9f 2045 NTOSAPI
sca8er 2:5853bf44af9f 2046 NTSTATUS
sca8er 2:5853bf44af9f 2047 NTAPI
sca8er 2:5853bf44af9f 2048 NtAssignProcessToJobObject(
sca8er 2:5853bf44af9f 2049 /*IN*/ HANDLE JobHandle,
sca8er 2:5853bf44af9f 2050 /*IN*/ HANDLE ProcessHandle);
sca8er 2:5853bf44af9f 2051
sca8er 2:5853bf44af9f 2052 NTOSAPI
sca8er 2:5853bf44af9f 2053 NTSTATUS
sca8er 2:5853bf44af9f 2054 NTAPI
sca8er 2:5853bf44af9f 2055 ZwAssignProcessToJobObject(
sca8er 2:5853bf44af9f 2056 /*IN*/ HANDLE JobHandle,
sca8er 2:5853bf44af9f 2057 /*IN*/ HANDLE ProcessHandle);
sca8er 2:5853bf44af9f 2058
sca8er 2:5853bf44af9f 2059 NTOSAPI
sca8er 2:5853bf44af9f 2060 NTSTATUS
sca8er 2:5853bf44af9f 2061 NTAPI
sca8er 2:5853bf44af9f 2062 NtQueryInformationJobObject(
sca8er 2:5853bf44af9f 2063 /*IN*/ HANDLE JobHandle,
sca8er 2:5853bf44af9f 2064 /*IN*/ JOBOBJECTINFOCLASS JobInformationClass,
sca8er 2:5853bf44af9f 2065 /*OUT*/ PVOID JobInformation,
sca8er 2:5853bf44af9f 2066 /*IN*/ ULONG JobInformationLength,
sca8er 2:5853bf44af9f 2067 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2068
sca8er 2:5853bf44af9f 2069 NTOSAPI
sca8er 2:5853bf44af9f 2070 NTSTATUS
sca8er 2:5853bf44af9f 2071 NTAPI
sca8er 2:5853bf44af9f 2072 ZwQueryInformationJobObject(
sca8er 2:5853bf44af9f 2073 /*IN*/ HANDLE JobHandle,
sca8er 2:5853bf44af9f 2074 /*IN*/ JOBOBJECTINFOCLASS JobInformationClass,
sca8er 2:5853bf44af9f 2075 /*OUT*/ PVOID JobInformation,
sca8er 2:5853bf44af9f 2076 /*IN*/ ULONG JobInformationLength,
sca8er 2:5853bf44af9f 2077 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2078
sca8er 2:5853bf44af9f 2079 NTOSAPI
sca8er 2:5853bf44af9f 2080 NTSTATUS
sca8er 2:5853bf44af9f 2081 NTAPI
sca8er 2:5853bf44af9f 2082 NtSetInformationJobObject(
sca8er 2:5853bf44af9f 2083 /*IN*/ HANDLE JobHandle,
sca8er 2:5853bf44af9f 2084 /*IN*/ JOBOBJECTINFOCLASS JobInformationClass,
sca8er 2:5853bf44af9f 2085 /*IN*/ PVOID JobInformation,
sca8er 2:5853bf44af9f 2086 /*IN*/ ULONG JobInformationLength);
sca8er 2:5853bf44af9f 2087
sca8er 2:5853bf44af9f 2088 NTOSAPI
sca8er 2:5853bf44af9f 2089 NTSTATUS
sca8er 2:5853bf44af9f 2090 NTAPI
sca8er 2:5853bf44af9f 2091 ZwSetInformationJobObject(
sca8er 2:5853bf44af9f 2092 /*IN*/ HANDLE JobHandle,
sca8er 2:5853bf44af9f 2093 /*IN*/ JOBOBJECTINFOCLASS JobInformationClass,
sca8er 2:5853bf44af9f 2094 /*IN*/ PVOID JobInformation,
sca8er 2:5853bf44af9f 2095 /*IN*/ ULONG JobInformationLength);
sca8er 2:5853bf44af9f 2096
sca8er 2:5853bf44af9f 2097
sca8er 2:5853bf44af9f 2098 /* Tokens */
sca8er 2:5853bf44af9f 2099
sca8er 2:5853bf44af9f 2100 NTOSAPI
sca8er 2:5853bf44af9f 2101 NTSTATUS
sca8er 2:5853bf44af9f 2102 NTAPI
sca8er 2:5853bf44af9f 2103 NtCreateToken(
sca8er 2:5853bf44af9f 2104 /*OUT*/ PHANDLE TokenHandle,
sca8er 2:5853bf44af9f 2105 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2106 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 2107 /*IN*/ TOKEN_TYPE Type,
sca8er 2:5853bf44af9f 2108 /*IN*/ PLUID AuthenticationId,
sca8er 2:5853bf44af9f 2109 /*IN*/ PLARGE_INTEGER ExpirationTime,
sca8er 2:5853bf44af9f 2110 /*IN*/ PTOKEN_USER User,
sca8er 2:5853bf44af9f 2111 /*IN*/ PTOKEN_GROUPS Groups,
sca8er 2:5853bf44af9f 2112 /*IN*/ PTOKEN_PRIVILEGES Privileges,
sca8er 2:5853bf44af9f 2113 /*IN*/ PTOKEN_OWNER Owner,
sca8er 2:5853bf44af9f 2114 /*IN*/ PTOKEN_PRIMARY_GROUP PrimaryGroup,
sca8er 2:5853bf44af9f 2115 /*IN*/ PTOKEN_DEFAULT_DACL DefaultDacl,
sca8er 2:5853bf44af9f 2116 /*IN*/ PTOKEN_SOURCE Source
sca8er 2:5853bf44af9f 2117 );
sca8er 2:5853bf44af9f 2118
sca8er 2:5853bf44af9f 2119 NTOSAPI
sca8er 2:5853bf44af9f 2120 NTSTATUS
sca8er 2:5853bf44af9f 2121 NTAPI
sca8er 2:5853bf44af9f 2122 ZwCreateToken(
sca8er 2:5853bf44af9f 2123 /*OUT*/ PHANDLE TokenHandle,
sca8er 2:5853bf44af9f 2124 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2125 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 2126 /*IN*/ TOKEN_TYPE Type,
sca8er 2:5853bf44af9f 2127 /*IN*/ PLUID AuthenticationId,
sca8er 2:5853bf44af9f 2128 /*IN*/ PLARGE_INTEGER ExpirationTime,
sca8er 2:5853bf44af9f 2129 /*IN*/ PTOKEN_USER User,
sca8er 2:5853bf44af9f 2130 /*IN*/ PTOKEN_GROUPS Groups,
sca8er 2:5853bf44af9f 2131 /*IN*/ PTOKEN_PRIVILEGES Privileges,
sca8er 2:5853bf44af9f 2132 /*IN*/ PTOKEN_OWNER Owner,
sca8er 2:5853bf44af9f 2133 /*IN*/ PTOKEN_PRIMARY_GROUP PrimaryGroup,
sca8er 2:5853bf44af9f 2134 /*IN*/ PTOKEN_DEFAULT_DACL DefaultDacl,
sca8er 2:5853bf44af9f 2135 /*IN*/ PTOKEN_SOURCE Source
sca8er 2:5853bf44af9f 2136 );
sca8er 2:5853bf44af9f 2137
sca8er 2:5853bf44af9f 2138 NTOSAPI
sca8er 2:5853bf44af9f 2139 NTSTATUS
sca8er 2:5853bf44af9f 2140 NTAPI
sca8er 2:5853bf44af9f 2141 NtOpenProcessToken(
sca8er 2:5853bf44af9f 2142 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 2143 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2144 /*OUT*/ PHANDLE TokenHandle);
sca8er 2:5853bf44af9f 2145
sca8er 2:5853bf44af9f 2146 NTOSAPI
sca8er 2:5853bf44af9f 2147 NTSTATUS
sca8er 2:5853bf44af9f 2148 NTAPI
sca8er 2:5853bf44af9f 2149 ZwOpenProcessToken(
sca8er 2:5853bf44af9f 2150 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 2151 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2152 /*OUT*/ PHANDLE TokenHandle);
sca8er 2:5853bf44af9f 2153
sca8er 2:5853bf44af9f 2154 NTOSAPI
sca8er 2:5853bf44af9f 2155 NTSTATUS
sca8er 2:5853bf44af9f 2156 NTAPI
sca8er 2:5853bf44af9f 2157 NtOpenThreadToken(
sca8er 2:5853bf44af9f 2158 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 2159 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2160 /*IN*/ BOOLEAN OpenAsSelf,
sca8er 2:5853bf44af9f 2161 /*OUT*/ PHANDLE TokenHandle);
sca8er 2:5853bf44af9f 2162
sca8er 2:5853bf44af9f 2163 NTOSAPI
sca8er 2:5853bf44af9f 2164 NTSTATUS
sca8er 2:5853bf44af9f 2165 NTAPI
sca8er 2:5853bf44af9f 2166 ZwOpenThreadToken(
sca8er 2:5853bf44af9f 2167 /*IN*/ HANDLE ThreadHandle,
sca8er 2:5853bf44af9f 2168 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2169 /*IN*/ BOOLEAN OpenAsSelf,
sca8er 2:5853bf44af9f 2170 /*OUT*/ PHANDLE TokenHandle);
sca8er 2:5853bf44af9f 2171
sca8er 2:5853bf44af9f 2172 NTOSAPI
sca8er 2:5853bf44af9f 2173 NTSTATUS
sca8er 2:5853bf44af9f 2174 NTAPI
sca8er 2:5853bf44af9f 2175 NtDuplicateToken(
sca8er 2:5853bf44af9f 2176 /*IN*/ HANDLE ExistingTokenHandle,
sca8er 2:5853bf44af9f 2177 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2178 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 2179 /*IN*/ BOOLEAN EffectiveOnly,
sca8er 2:5853bf44af9f 2180 /*IN*/ TOKEN_TYPE TokenType,
sca8er 2:5853bf44af9f 2181 /*OUT*/ PHANDLE NewTokenHandle);
sca8er 2:5853bf44af9f 2182
sca8er 2:5853bf44af9f 2183 NTOSAPI
sca8er 2:5853bf44af9f 2184 NTSTATUS
sca8er 2:5853bf44af9f 2185 NTAPI
sca8er 2:5853bf44af9f 2186 ZwDuplicateToken(
sca8er 2:5853bf44af9f 2187 /*IN*/ HANDLE ExistingTokenHandle,
sca8er 2:5853bf44af9f 2188 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 2189 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 2190 /*IN*/ BOOLEAN EffectiveOnly,
sca8er 2:5853bf44af9f 2191 /*IN*/ TOKEN_TYPE TokenType,
sca8er 2:5853bf44af9f 2192 /*OUT*/ PHANDLE NewTokenHandle);
sca8er 2:5853bf44af9f 2193
sca8er 2:5853bf44af9f 2194 NTOSAPI
sca8er 2:5853bf44af9f 2195 NTSTATUS
sca8er 2:5853bf44af9f 2196 NTAPI
sca8er 2:5853bf44af9f 2197 NtFilterToken(
sca8er 2:5853bf44af9f 2198 /*IN*/ HANDLE ExistingTokenHandle,
sca8er 2:5853bf44af9f 2199 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 2200 /*IN*/ PTOKEN_GROUPS SidsToDisable,
sca8er 2:5853bf44af9f 2201 /*IN*/ PTOKEN_PRIVILEGES PrivilegesToDelete,
sca8er 2:5853bf44af9f 2202 /*IN*/ PTOKEN_GROUPS SidsToRestricted,
sca8er 2:5853bf44af9f 2203 /*OUT*/ PHANDLE NewTokenHandle);
sca8er 2:5853bf44af9f 2204
sca8er 2:5853bf44af9f 2205 NTOSAPI
sca8er 2:5853bf44af9f 2206 NTSTATUS
sca8er 2:5853bf44af9f 2207 NTAPI
sca8er 2:5853bf44af9f 2208 ZwFilterToken(
sca8er 2:5853bf44af9f 2209 /*IN*/ HANDLE ExistingTokenHandle,
sca8er 2:5853bf44af9f 2210 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 2211 /*IN*/ PTOKEN_GROUPS SidsToDisable,
sca8er 2:5853bf44af9f 2212 /*IN*/ PTOKEN_PRIVILEGES PrivilegesToDelete,
sca8er 2:5853bf44af9f 2213 /*IN*/ PTOKEN_GROUPS SidsToRestricted,
sca8er 2:5853bf44af9f 2214 /*OUT*/ PHANDLE NewTokenHandle);
sca8er 2:5853bf44af9f 2215
sca8er 2:5853bf44af9f 2216 NTOSAPI
sca8er 2:5853bf44af9f 2217 NTSTATUS
sca8er 2:5853bf44af9f 2218 NTAPI
sca8er 2:5853bf44af9f 2219 NtAdjustPrivilegesToken(
sca8er 2:5853bf44af9f 2220 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 2221 /*IN*/ BOOLEAN DisableAllPrivileges,
sca8er 2:5853bf44af9f 2222 /*IN*/ PTOKEN_PRIVILEGES NewState,
sca8er 2:5853bf44af9f 2223 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 2224 /*OUT*/ PTOKEN_PRIVILEGES PreviousState /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2225 /*OUT*/ PULONG ReturnLength);
sca8er 2:5853bf44af9f 2226
sca8er 2:5853bf44af9f 2227 NTOSAPI
sca8er 2:5853bf44af9f 2228 NTSTATUS
sca8er 2:5853bf44af9f 2229 NTAPI
sca8er 2:5853bf44af9f 2230 ZwAdjustPrivilegesToken(
sca8er 2:5853bf44af9f 2231 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 2232 /*IN*/ BOOLEAN DisableAllPrivileges,
sca8er 2:5853bf44af9f 2233 /*IN*/ PTOKEN_PRIVILEGES NewState,
sca8er 2:5853bf44af9f 2234 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 2235 /*OUT*/ PTOKEN_PRIVILEGES PreviousState /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2236 /*OUT*/ PULONG ReturnLength);
sca8er 2:5853bf44af9f 2237
sca8er 2:5853bf44af9f 2238 NTOSAPI
sca8er 2:5853bf44af9f 2239 NTSTATUS
sca8er 2:5853bf44af9f 2240 NTAPI
sca8er 2:5853bf44af9f 2241 NtAdjustGroupsToken(
sca8er 2:5853bf44af9f 2242 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 2243 /*IN*/ BOOLEAN ResetToDefault,
sca8er 2:5853bf44af9f 2244 /*IN*/ PTOKEN_GROUPS NewState,
sca8er 2:5853bf44af9f 2245 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 2246 /*OUT*/ PTOKEN_GROUPS PreviousState /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2247 /*OUT*/ PULONG ReturnLength);
sca8er 2:5853bf44af9f 2248
sca8er 2:5853bf44af9f 2249 NTOSAPI
sca8er 2:5853bf44af9f 2250 NTSTATUS
sca8er 2:5853bf44af9f 2251 NTAPI
sca8er 2:5853bf44af9f 2252 ZwAdjustGroupsToken(
sca8er 2:5853bf44af9f 2253 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 2254 /*IN*/ BOOLEAN ResetToDefault,
sca8er 2:5853bf44af9f 2255 /*IN*/ PTOKEN_GROUPS NewState,
sca8er 2:5853bf44af9f 2256 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 2257 /*OUT*/ PTOKEN_GROUPS PreviousState /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2258 /*OUT*/ PULONG ReturnLength);
sca8er 2:5853bf44af9f 2259
sca8er 2:5853bf44af9f 2260 NTOSAPI
sca8er 2:5853bf44af9f 2261 NTSTATUS
sca8er 2:5853bf44af9f 2262 NTAPI
sca8er 2:5853bf44af9f 2263 NtQueryInformationToken(
sca8er 2:5853bf44af9f 2264 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 2265 /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass,
sca8er 2:5853bf44af9f 2266 /*OUT*/ PVOID TokenInformation,
sca8er 2:5853bf44af9f 2267 /*IN*/ ULONG TokenInformationLength,
sca8er 2:5853bf44af9f 2268 /*OUT*/ PULONG ReturnLength);
sca8er 2:5853bf44af9f 2269
sca8er 2:5853bf44af9f 2270 NTOSAPI
sca8er 2:5853bf44af9f 2271 NTSTATUS
sca8er 2:5853bf44af9f 2272 NTAPI
sca8er 2:5853bf44af9f 2273 ZwQueryInformationToken(
sca8er 2:5853bf44af9f 2274 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 2275 /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass,
sca8er 2:5853bf44af9f 2276 /*OUT*/ PVOID TokenInformation,
sca8er 2:5853bf44af9f 2277 /*IN*/ ULONG TokenInformationLength,
sca8er 2:5853bf44af9f 2278 /*OUT*/ PULONG ReturnLength);
sca8er 2:5853bf44af9f 2279
sca8er 2:5853bf44af9f 2280 NTOSAPI
sca8er 2:5853bf44af9f 2281 NTSTATUS
sca8er 2:5853bf44af9f 2282 NTAPI
sca8er 2:5853bf44af9f 2283 NtSetInformationToken(
sca8er 2:5853bf44af9f 2284 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 2285 /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass,
sca8er 2:5853bf44af9f 2286 /*IN*/ PVOID TokenInformation,
sca8er 2:5853bf44af9f 2287 /*IN*/ ULONG TokenInformationLength);
sca8er 2:5853bf44af9f 2288
sca8er 2:5853bf44af9f 2289 NTOSAPI
sca8er 2:5853bf44af9f 2290 NTSTATUS
sca8er 2:5853bf44af9f 2291 NTAPI
sca8er 2:5853bf44af9f 2292 ZwSetInformationToken(
sca8er 2:5853bf44af9f 2293 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 2294 /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass,
sca8er 2:5853bf44af9f 2295 /*IN*/ PVOID TokenInformation,
sca8er 2:5853bf44af9f 2296 /*IN*/ ULONG TokenInformationLength);
sca8er 2:5853bf44af9f 2297
sca8er 2:5853bf44af9f 2298
sca8er 2:5853bf44af9f 2299
sca8er 2:5853bf44af9f 2300
sca8er 2:5853bf44af9f 2301 /* Time */
sca8er 2:5853bf44af9f 2302
sca8er 2:5853bf44af9f 2303 NTOSAPI
sca8er 2:5853bf44af9f 2304 NTSTATUS
sca8er 2:5853bf44af9f 2305 NTAPI
sca8er 2:5853bf44af9f 2306 NtQuerySystemTime(
sca8er 2:5853bf44af9f 2307 /*OUT*/ PLARGE_INTEGER CurrentTime);
sca8er 2:5853bf44af9f 2308
sca8er 2:5853bf44af9f 2309 NTOSAPI
sca8er 2:5853bf44af9f 2310 NTSTATUS
sca8er 2:5853bf44af9f 2311 NTAPI
sca8er 2:5853bf44af9f 2312 ZwQuerySystemTime(
sca8er 2:5853bf44af9f 2313 /*OUT*/ PLARGE_INTEGER CurrentTime);
sca8er 2:5853bf44af9f 2314
sca8er 2:5853bf44af9f 2315 NTOSAPI
sca8er 2:5853bf44af9f 2316 NTSTATUS
sca8er 2:5853bf44af9f 2317 NTAPI
sca8er 2:5853bf44af9f 2318 NtSetSystemTime(
sca8er 2:5853bf44af9f 2319 /*IN*/ PLARGE_INTEGER NewTime,
sca8er 2:5853bf44af9f 2320 /*OUT*/ PLARGE_INTEGER OldTime /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2321
sca8er 2:5853bf44af9f 2322 NTOSAPI
sca8er 2:5853bf44af9f 2323 NTSTATUS
sca8er 2:5853bf44af9f 2324 NTAPI
sca8er 2:5853bf44af9f 2325 ZwSetSystemTime(
sca8er 2:5853bf44af9f 2326 /*IN*/ PLARGE_INTEGER NewTime,
sca8er 2:5853bf44af9f 2327 /*OUT*/ PLARGE_INTEGER OldTime /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2328
sca8er 2:5853bf44af9f 2329 NTOSAPI
sca8er 2:5853bf44af9f 2330 NTSTATUS
sca8er 2:5853bf44af9f 2331 NTAPI
sca8er 2:5853bf44af9f 2332 NtQueryPerformanceCounter(
sca8er 2:5853bf44af9f 2333 /*OUT*/ PLARGE_INTEGER PerformanceCount,
sca8er 2:5853bf44af9f 2334 /*OUT*/ PLARGE_INTEGER PerformanceFrequency /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2335
sca8er 2:5853bf44af9f 2336 NTOSAPI
sca8er 2:5853bf44af9f 2337 NTSTATUS
sca8er 2:5853bf44af9f 2338 NTAPI
sca8er 2:5853bf44af9f 2339 ZwQueryPerformanceCounter(
sca8er 2:5853bf44af9f 2340 /*OUT*/ PLARGE_INTEGER PerformanceCount,
sca8er 2:5853bf44af9f 2341 /*OUT*/ PLARGE_INTEGER PerformanceFrequency /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2342
sca8er 2:5853bf44af9f 2343 NTOSAPI
sca8er 2:5853bf44af9f 2344 NTSTATUS
sca8er 2:5853bf44af9f 2345 NTAPI
sca8er 2:5853bf44af9f 2346 NtQueryTimerResolution(
sca8er 2:5853bf44af9f 2347 /*OUT*/ PULONG CoarsestResolution,
sca8er 2:5853bf44af9f 2348 /*OUT*/ PULONG FinestResolution,
sca8er 2:5853bf44af9f 2349 /*OUT*/ PULONG ActualResolution);
sca8er 2:5853bf44af9f 2350
sca8er 2:5853bf44af9f 2351 NTOSAPI
sca8er 2:5853bf44af9f 2352 NTSTATUS
sca8er 2:5853bf44af9f 2353 NTAPI
sca8er 2:5853bf44af9f 2354 ZwQueryTimerResolution(
sca8er 2:5853bf44af9f 2355 /*OUT*/ PULONG CoarsestResolution,
sca8er 2:5853bf44af9f 2356 /*OUT*/ PULONG FinestResolution,
sca8er 2:5853bf44af9f 2357 /*OUT*/ PULONG ActualResolution);
sca8er 2:5853bf44af9f 2358
sca8er 2:5853bf44af9f 2359 NTOSAPI
sca8er 2:5853bf44af9f 2360 NTSTATUS
sca8er 2:5853bf44af9f 2361 NTAPI
sca8er 2:5853bf44af9f 2362 NtDelayExecution(
sca8er 2:5853bf44af9f 2363 /*IN*/ BOOLEAN Alertable,
sca8er 2:5853bf44af9f 2364 /*IN*/ PLARGE_INTEGER Interval);
sca8er 2:5853bf44af9f 2365
sca8er 2:5853bf44af9f 2366 NTOSAPI
sca8er 2:5853bf44af9f 2367 NTSTATUS
sca8er 2:5853bf44af9f 2368 NTAPI
sca8er 2:5853bf44af9f 2369 ZwDelayExecution(
sca8er 2:5853bf44af9f 2370 /*IN*/ BOOLEAN Alertable,
sca8er 2:5853bf44af9f 2371 /*IN*/ PLARGE_INTEGER Interval);
sca8er 2:5853bf44af9f 2372
sca8er 2:5853bf44af9f 2373 NTOSAPI
sca8er 2:5853bf44af9f 2374 NTSTATUS
sca8er 2:5853bf44af9f 2375 NTAPI
sca8er 2:5853bf44af9f 2376 NtYieldExecution(
sca8er 2:5853bf44af9f 2377 VOID);
sca8er 2:5853bf44af9f 2378
sca8er 2:5853bf44af9f 2379 NTOSAPI
sca8er 2:5853bf44af9f 2380 NTSTATUS
sca8er 2:5853bf44af9f 2381 NTAPI
sca8er 2:5853bf44af9f 2382 ZwYieldExecution(
sca8er 2:5853bf44af9f 2383 VOID);
sca8er 2:5853bf44af9f 2384
sca8er 2:5853bf44af9f 2385 NTOSAPI
sca8er 2:5853bf44af9f 2386 ULONG
sca8er 2:5853bf44af9f 2387 NTAPI
sca8er 2:5853bf44af9f 2388 NtGetTickCount(
sca8er 2:5853bf44af9f 2389 VOID);
sca8er 2:5853bf44af9f 2390
sca8er 2:5853bf44af9f 2391 NTOSAPI
sca8er 2:5853bf44af9f 2392 ULONG
sca8er 2:5853bf44af9f 2393 NTAPI
sca8er 2:5853bf44af9f 2394 ZwGetTickCount(
sca8er 2:5853bf44af9f 2395 VOID);
sca8er 2:5853bf44af9f 2396
sca8er 2:5853bf44af9f 2397
sca8er 2:5853bf44af9f 2398
sca8er 2:5853bf44af9f 2399
sca8er 2:5853bf44af9f 2400 /* Execution profiling */
sca8er 2:5853bf44af9f 2401
sca8er 2:5853bf44af9f 2402 NTOSAPI
sca8er 2:5853bf44af9f 2403 NTSTATUS
sca8er 2:5853bf44af9f 2404 NTAPI
sca8er 2:5853bf44af9f 2405 NtCreateProfile(
sca8er 2:5853bf44af9f 2406 /*OUT*/ PHANDLE ProfileHandle,
sca8er 2:5853bf44af9f 2407 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 2408 /*IN*/ PVOID Base,
sca8er 2:5853bf44af9f 2409 /*IN*/ ULONG Size,
sca8er 2:5853bf44af9f 2410 /*IN*/ ULONG BucketShift,
sca8er 2:5853bf44af9f 2411 /*IN*/ PULONG Buffer,
sca8er 2:5853bf44af9f 2412 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 2413 /*IN*/ KPROFILE_SOURCE Source,
sca8er 2:5853bf44af9f 2414 /*IN*/ ULONG ProcessorMask);
sca8er 2:5853bf44af9f 2415
sca8er 2:5853bf44af9f 2416 NTOSAPI
sca8er 2:5853bf44af9f 2417 NTSTATUS
sca8er 2:5853bf44af9f 2418 NTAPI
sca8er 2:5853bf44af9f 2419 ZwCreateProfile(
sca8er 2:5853bf44af9f 2420 /*OUT*/ PHANDLE ProfileHandle,
sca8er 2:5853bf44af9f 2421 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 2422 /*IN*/ PVOID Base,
sca8er 2:5853bf44af9f 2423 /*IN*/ ULONG Size,
sca8er 2:5853bf44af9f 2424 /*IN*/ ULONG BucketShift,
sca8er 2:5853bf44af9f 2425 /*IN*/ PULONG Buffer,
sca8er 2:5853bf44af9f 2426 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 2427 /*IN*/ KPROFILE_SOURCE Source,
sca8er 2:5853bf44af9f 2428 /*IN*/ ULONG ProcessorMask);
sca8er 2:5853bf44af9f 2429
sca8er 2:5853bf44af9f 2430 NTOSAPI
sca8er 2:5853bf44af9f 2431 NTSTATUS
sca8er 2:5853bf44af9f 2432 NTAPI
sca8er 2:5853bf44af9f 2433 NtSetIntervalProfile(
sca8er 2:5853bf44af9f 2434 /*IN*/ ULONG Interval,
sca8er 2:5853bf44af9f 2435 /*IN*/ KPROFILE_SOURCE Source);
sca8er 2:5853bf44af9f 2436
sca8er 2:5853bf44af9f 2437 NTOSAPI
sca8er 2:5853bf44af9f 2438 NTSTATUS
sca8er 2:5853bf44af9f 2439 NTAPI
sca8er 2:5853bf44af9f 2440 ZwSetIntervalProfile(
sca8er 2:5853bf44af9f 2441 /*IN*/ ULONG Interval,
sca8er 2:5853bf44af9f 2442 /*IN*/ KPROFILE_SOURCE Source);
sca8er 2:5853bf44af9f 2443
sca8er 2:5853bf44af9f 2444 NTOSAPI
sca8er 2:5853bf44af9f 2445 NTSTATUS
sca8er 2:5853bf44af9f 2446 NTAPI
sca8er 2:5853bf44af9f 2447 NtQueryIntervalProfile(
sca8er 2:5853bf44af9f 2448 /*IN*/ KPROFILE_SOURCE Source,
sca8er 2:5853bf44af9f 2449 /*OUT*/ PULONG Interval);
sca8er 2:5853bf44af9f 2450
sca8er 2:5853bf44af9f 2451 NTOSAPI
sca8er 2:5853bf44af9f 2452 NTSTATUS
sca8er 2:5853bf44af9f 2453 NTAPI
sca8er 2:5853bf44af9f 2454 ZwQueryIntervalProfile(
sca8er 2:5853bf44af9f 2455 /*IN*/ KPROFILE_SOURCE Source,
sca8er 2:5853bf44af9f 2456 /*OUT*/ PULONG Interval);
sca8er 2:5853bf44af9f 2457
sca8er 2:5853bf44af9f 2458 NTOSAPI
sca8er 2:5853bf44af9f 2459 NTSTATUS
sca8er 2:5853bf44af9f 2460 NTAPI
sca8er 2:5853bf44af9f 2461 NtStartProfile(
sca8er 2:5853bf44af9f 2462 /*IN*/ HANDLE ProfileHandle);
sca8er 2:5853bf44af9f 2463
sca8er 2:5853bf44af9f 2464 NTOSAPI
sca8er 2:5853bf44af9f 2465 NTSTATUS
sca8er 2:5853bf44af9f 2466 NTAPI
sca8er 2:5853bf44af9f 2467 ZwStartProfile(
sca8er 2:5853bf44af9f 2468 /*IN*/ HANDLE ProfileHandle);
sca8er 2:5853bf44af9f 2469
sca8er 2:5853bf44af9f 2470 NTOSAPI
sca8er 2:5853bf44af9f 2471 NTSTATUS
sca8er 2:5853bf44af9f 2472 NTAPI
sca8er 2:5853bf44af9f 2473 NtStopProfile(
sca8er 2:5853bf44af9f 2474 /*IN*/ HANDLE ProfileHandle);
sca8er 2:5853bf44af9f 2475
sca8er 2:5853bf44af9f 2476 NTOSAPI
sca8er 2:5853bf44af9f 2477 NTSTATUS
sca8er 2:5853bf44af9f 2478 NTAPI
sca8er 2:5853bf44af9f 2479 ZwStopProfile(
sca8er 2:5853bf44af9f 2480 /*IN*/ HANDLE ProfileHandle);
sca8er 2:5853bf44af9f 2481
sca8er 2:5853bf44af9f 2482 /* Local Procedure Call (LPC) */
sca8er 2:5853bf44af9f 2483
sca8er 2:5853bf44af9f 2484 typedef struct _LPC_MESSAGE {
sca8er 2:5853bf44af9f 2485 USHORT DataSize;
sca8er 2:5853bf44af9f 2486 USHORT MessageSize;
sca8er 2:5853bf44af9f 2487 USHORT MessageType;
sca8er 2:5853bf44af9f 2488 USHORT VirtualRangesOffset;
sca8er 2:5853bf44af9f 2489 CLIENT_ID ClientId;
sca8er 2:5853bf44af9f 2490 ULONG MessageId;
sca8er 2:5853bf44af9f 2491 ULONG SectionSize;
sca8er 2:5853bf44af9f 2492 UCHAR Data[ANYSIZE_ARRAY];
sca8er 2:5853bf44af9f 2493 } LPC_MESSAGE, *PLPC_MESSAGE;
sca8er 2:5853bf44af9f 2494
sca8er 2:5853bf44af9f 2495 #define LPC_MESSAGE_BASE_SIZE 24
sca8er 2:5853bf44af9f 2496
sca8er 2:5853bf44af9f 2497 typedef enum _LPC_TYPE {
sca8er 2:5853bf44af9f 2498 LPC_NEW_MESSAGE,
sca8er 2:5853bf44af9f 2499 LPC_REQUEST,
sca8er 2:5853bf44af9f 2500 LPC_REPLY,
sca8er 2:5853bf44af9f 2501 LPC_DATAGRAM,
sca8er 2:5853bf44af9f 2502 LPC_LOST_REPLY,
sca8er 2:5853bf44af9f 2503 LPC_PORT_CLOSED,
sca8er 2:5853bf44af9f 2504 LPC_CLIENT_DIED,
sca8er 2:5853bf44af9f 2505 LPC_EXCEPTION,
sca8er 2:5853bf44af9f 2506 LPC_DEBUG_EVENT,
sca8er 2:5853bf44af9f 2507 LPC_ERROR_EVENT,
sca8er 2:5853bf44af9f 2508 LPC_CONNECTION_REQUEST,
sca8er 2:5853bf44af9f 2509 LPC_CONNECTION_REFUSED,
sca8er 2:5853bf44af9f 2510 LPC_MAXIMUM
sca8er 2:5853bf44af9f 2511 } LPC_TYPE;
sca8er 2:5853bf44af9f 2512
sca8er 2:5853bf44af9f 2513 typedef struct _LPC_SECTION_WRITE {
sca8er 2:5853bf44af9f 2514 ULONG Length;
sca8er 2:5853bf44af9f 2515 HANDLE SectionHandle;
sca8er 2:5853bf44af9f 2516 ULONG SectionOffset;
sca8er 2:5853bf44af9f 2517 ULONG ViewSize;
sca8er 2:5853bf44af9f 2518 PVOID ViewBase;
sca8er 2:5853bf44af9f 2519 PVOID TargetViewBase;
sca8er 2:5853bf44af9f 2520 } LPC_SECTION_WRITE, *PLPC_SECTION_WRITE;
sca8er 2:5853bf44af9f 2521
sca8er 2:5853bf44af9f 2522 typedef struct _LPC_SECTION_READ {
sca8er 2:5853bf44af9f 2523 ULONG Length;
sca8er 2:5853bf44af9f 2524 ULONG ViewSize;
sca8er 2:5853bf44af9f 2525 PVOID ViewBase;
sca8er 2:5853bf44af9f 2526 } LPC_SECTION_READ, *PLPC_SECTION_READ;
sca8er 2:5853bf44af9f 2527
sca8er 2:5853bf44af9f 2528 NTOSAPI
sca8er 2:5853bf44af9f 2529 NTSTATUS
sca8er 2:5853bf44af9f 2530 NTAPI
sca8er 2:5853bf44af9f 2531 NtCreatePort(
sca8er 2:5853bf44af9f 2532 /*OUT*/ PHANDLE PortHandle,
sca8er 2:5853bf44af9f 2533 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 2534 /*IN*/ ULONG MaxDataSize,
sca8er 2:5853bf44af9f 2535 /*IN*/ ULONG MaxMessageSize,
sca8er 2:5853bf44af9f 2536 /*IN*/ ULONG Reserved);
sca8er 2:5853bf44af9f 2537
sca8er 2:5853bf44af9f 2538 NTOSAPI
sca8er 2:5853bf44af9f 2539 NTSTATUS
sca8er 2:5853bf44af9f 2540 NTAPI
sca8er 2:5853bf44af9f 2541 ZwCreatePort(
sca8er 2:5853bf44af9f 2542 /*OUT*/ PHANDLE PortHandle,
sca8er 2:5853bf44af9f 2543 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 2544 /*IN*/ ULONG MaxDataSize,
sca8er 2:5853bf44af9f 2545 /*IN*/ ULONG MaxMessageSize,
sca8er 2:5853bf44af9f 2546 /*IN*/ ULONG Reserved);
sca8er 2:5853bf44af9f 2547
sca8er 2:5853bf44af9f 2548 NTOSAPI
sca8er 2:5853bf44af9f 2549 NTSTATUS
sca8er 2:5853bf44af9f 2550 NTAPI
sca8er 2:5853bf44af9f 2551 NtCreateWaitablePort(
sca8er 2:5853bf44af9f 2552 /*OUT*/ PHANDLE PortHandle,
sca8er 2:5853bf44af9f 2553 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 2554 /*IN*/ ULONG MaxDataSize,
sca8er 2:5853bf44af9f 2555 /*IN*/ ULONG MaxMessageSize,
sca8er 2:5853bf44af9f 2556 /*IN*/ ULONG Reserved);
sca8er 2:5853bf44af9f 2557
sca8er 2:5853bf44af9f 2558 NTOSAPI
sca8er 2:5853bf44af9f 2559 NTSTATUS
sca8er 2:5853bf44af9f 2560 NTAPI
sca8er 2:5853bf44af9f 2561 ZwCreateWaitablePort(
sca8er 2:5853bf44af9f 2562 /*OUT*/ PHANDLE PortHandle,
sca8er 2:5853bf44af9f 2563 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
sca8er 2:5853bf44af9f 2564 /*IN*/ ULONG MaxDataSize,
sca8er 2:5853bf44af9f 2565 /*IN*/ ULONG MaxMessageSize,
sca8er 2:5853bf44af9f 2566 /*IN*/ ULONG Reserved);
sca8er 2:5853bf44af9f 2567
sca8er 2:5853bf44af9f 2568 NTOSAPI
sca8er 2:5853bf44af9f 2569 NTSTATUS
sca8er 2:5853bf44af9f 2570 NTAPI
sca8er 2:5853bf44af9f 2571 NtConnectPort(
sca8er 2:5853bf44af9f 2572 /*OUT*/ PHANDLE PortHandle,
sca8er 2:5853bf44af9f 2573 /*IN*/ PUNICODE_STRING PortName,
sca8er 2:5853bf44af9f 2574 /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos,
sca8er 2:5853bf44af9f 2575 /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2576 /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2577 /*OUT*/ PULONG MaxMessageSize /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2578 /*IN OUT*/ PVOID ConnectData /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2579 /*IN OUT*/ PULONG ConnectDataLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2580
sca8er 2:5853bf44af9f 2581 NTOSAPI
sca8er 2:5853bf44af9f 2582 NTSTATUS
sca8er 2:5853bf44af9f 2583 NTAPI
sca8er 2:5853bf44af9f 2584 ZwConnectPort(
sca8er 2:5853bf44af9f 2585 /*OUT*/ PHANDLE PortHandle,
sca8er 2:5853bf44af9f 2586 /*IN*/ PUNICODE_STRING PortName,
sca8er 2:5853bf44af9f 2587 /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos,
sca8er 2:5853bf44af9f 2588 /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2589 /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2590 /*OUT*/ PULONG MaxMessageSize /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2591 /*IN OUT*/ PVOID ConnectData /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2592 /*IN OUT*/ PULONG ConnectDataLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2593
sca8er 2:5853bf44af9f 2594 NTOSAPI
sca8er 2:5853bf44af9f 2595 NTSTATUS
sca8er 2:5853bf44af9f 2596 NTAPI
sca8er 2:5853bf44af9f 2597 NtListenPort(
sca8er 2:5853bf44af9f 2598 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2599 /*OUT*/ PLPC_MESSAGE Message);
sca8er 2:5853bf44af9f 2600
sca8er 2:5853bf44af9f 2601 NTOSAPI
sca8er 2:5853bf44af9f 2602 NTSTATUS
sca8er 2:5853bf44af9f 2603 NTAPI
sca8er 2:5853bf44af9f 2604 ZwListenPort(
sca8er 2:5853bf44af9f 2605 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2606 /*OUT*/ PLPC_MESSAGE Message);
sca8er 2:5853bf44af9f 2607
sca8er 2:5853bf44af9f 2608 NTOSAPI
sca8er 2:5853bf44af9f 2609 NTSTATUS
sca8er 2:5853bf44af9f 2610 NTAPI
sca8er 2:5853bf44af9f 2611 NtAcceptConnectPort(
sca8er 2:5853bf44af9f 2612 /*OUT*/ PHANDLE PortHandle,
sca8er 2:5853bf44af9f 2613 /*IN*/ ULONG PortIdentifier,
sca8er 2:5853bf44af9f 2614 /*IN*/ PLPC_MESSAGE Message,
sca8er 2:5853bf44af9f 2615 /*IN*/ BOOLEAN Accept,
sca8er 2:5853bf44af9f 2616 /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2617 /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2618
sca8er 2:5853bf44af9f 2619 NTOSAPI
sca8er 2:5853bf44af9f 2620 NTSTATUS
sca8er 2:5853bf44af9f 2621 NTAPI
sca8er 2:5853bf44af9f 2622 ZwAcceptConnectPort(
sca8er 2:5853bf44af9f 2623 /*OUT*/ PHANDLE PortHandle,
sca8er 2:5853bf44af9f 2624 /*IN*/ ULONG PortIdentifier,
sca8er 2:5853bf44af9f 2625 /*IN*/ PLPC_MESSAGE Message,
sca8er 2:5853bf44af9f 2626 /*IN*/ BOOLEAN Accept,
sca8er 2:5853bf44af9f 2627 /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2628 /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2629
sca8er 2:5853bf44af9f 2630 NTOSAPI
sca8er 2:5853bf44af9f 2631 NTSTATUS
sca8er 2:5853bf44af9f 2632 NTAPI
sca8er 2:5853bf44af9f 2633 NtCompleteConnectPort(
sca8er 2:5853bf44af9f 2634 /*IN*/ HANDLE PortHandle);
sca8er 2:5853bf44af9f 2635
sca8er 2:5853bf44af9f 2636 NTOSAPI
sca8er 2:5853bf44af9f 2637 NTSTATUS
sca8er 2:5853bf44af9f 2638 NTAPI
sca8er 2:5853bf44af9f 2639 ZwCompleteConnectPort(
sca8er 2:5853bf44af9f 2640 /*IN*/ HANDLE PortHandle);
sca8er 2:5853bf44af9f 2641
sca8er 2:5853bf44af9f 2642 NTOSAPI
sca8er 2:5853bf44af9f 2643 NTSTATUS
sca8er 2:5853bf44af9f 2644 NTAPI
sca8er 2:5853bf44af9f 2645 NtRequestPort(
sca8er 2:5853bf44af9f 2646 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2647 /*IN*/ PLPC_MESSAGE RequestMessage);
sca8er 2:5853bf44af9f 2648
sca8er 2:5853bf44af9f 2649 NTOSAPI
sca8er 2:5853bf44af9f 2650 NTSTATUS
sca8er 2:5853bf44af9f 2651 NTAPI
sca8er 2:5853bf44af9f 2652 ZwRequestPort(
sca8er 2:5853bf44af9f 2653 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2654 /*IN*/ PLPC_MESSAGE RequestMessage);
sca8er 2:5853bf44af9f 2655
sca8er 2:5853bf44af9f 2656 NTOSAPI
sca8er 2:5853bf44af9f 2657 NTSTATUS
sca8er 2:5853bf44af9f 2658 NTAPI
sca8er 2:5853bf44af9f 2659 NtRequestWaitReplyPort(
sca8er 2:5853bf44af9f 2660 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2661 /*IN*/ PLPC_MESSAGE RequestMessage,
sca8er 2:5853bf44af9f 2662 /*OUT*/ PLPC_MESSAGE ReplyMessage);
sca8er 2:5853bf44af9f 2663
sca8er 2:5853bf44af9f 2664 NTOSAPI
sca8er 2:5853bf44af9f 2665 NTSTATUS
sca8er 2:5853bf44af9f 2666 NTAPI
sca8er 2:5853bf44af9f 2667 ZwRequestWaitReplyPort(
sca8er 2:5853bf44af9f 2668 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2669 /*IN*/ PLPC_MESSAGE RequestMessage,
sca8er 2:5853bf44af9f 2670 /*OUT*/ PLPC_MESSAGE ReplyMessage);
sca8er 2:5853bf44af9f 2671
sca8er 2:5853bf44af9f 2672 NTOSAPI
sca8er 2:5853bf44af9f 2673 NTSTATUS
sca8er 2:5853bf44af9f 2674 NTAPI
sca8er 2:5853bf44af9f 2675 NtReplyPort(
sca8er 2:5853bf44af9f 2676 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2677 /*IN*/ PLPC_MESSAGE ReplyMessage);
sca8er 2:5853bf44af9f 2678
sca8er 2:5853bf44af9f 2679 NTOSAPI
sca8er 2:5853bf44af9f 2680 NTSTATUS
sca8er 2:5853bf44af9f 2681 NTAPI
sca8er 2:5853bf44af9f 2682 ZwReplyPort(
sca8er 2:5853bf44af9f 2683 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2684 /*IN*/ PLPC_MESSAGE ReplyMessage);
sca8er 2:5853bf44af9f 2685
sca8er 2:5853bf44af9f 2686 NTOSAPI
sca8er 2:5853bf44af9f 2687 NTSTATUS
sca8er 2:5853bf44af9f 2688 NTAPI
sca8er 2:5853bf44af9f 2689 NtReplyWaitReplyPort(
sca8er 2:5853bf44af9f 2690 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2691 /*IN OUT*/ PLPC_MESSAGE ReplyMessage);
sca8er 2:5853bf44af9f 2692
sca8er 2:5853bf44af9f 2693 NTOSAPI
sca8er 2:5853bf44af9f 2694 NTSTATUS
sca8er 2:5853bf44af9f 2695 NTAPI
sca8er 2:5853bf44af9f 2696 ZwReplyWaitReplyPort(
sca8er 2:5853bf44af9f 2697 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2698 /*IN OUT*/ PLPC_MESSAGE ReplyMessage);
sca8er 2:5853bf44af9f 2699
sca8er 2:5853bf44af9f 2700 NTOSAPI
sca8er 2:5853bf44af9f 2701 NTSTATUS
sca8er 2:5853bf44af9f 2702 NTAPI
sca8er 2:5853bf44af9f 2703 NtReplyWaitReceivePort(
sca8er 2:5853bf44af9f 2704 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2705 /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2706 /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2707 /*OUT*/ PLPC_MESSAGE Message);
sca8er 2:5853bf44af9f 2708
sca8er 2:5853bf44af9f 2709 NTOSAPI
sca8er 2:5853bf44af9f 2710 NTSTATUS
sca8er 2:5853bf44af9f 2711 NTAPI
sca8er 2:5853bf44af9f 2712 ZwReplyWaitReceivePort(
sca8er 2:5853bf44af9f 2713 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2714 /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2715 /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2716 /*OUT*/ PLPC_MESSAGE Message);
sca8er 2:5853bf44af9f 2717
sca8er 2:5853bf44af9f 2718 NTOSAPI
sca8er 2:5853bf44af9f 2719 NTSTATUS
sca8er 2:5853bf44af9f 2720 NTAPI
sca8er 2:5853bf44af9f 2721 NtReplyWaitReceivePortEx(
sca8er 2:5853bf44af9f 2722 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2723 /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2724 /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2725 /*OUT*/ PLPC_MESSAGE Message,
sca8er 2:5853bf44af9f 2726 /*IN*/ PLARGE_INTEGER Timeout);
sca8er 2:5853bf44af9f 2727
sca8er 2:5853bf44af9f 2728 NTOSAPI
sca8er 2:5853bf44af9f 2729 NTSTATUS
sca8er 2:5853bf44af9f 2730 NTAPI
sca8er 2:5853bf44af9f 2731 ZwReplyWaitReceivePortEx(
sca8er 2:5853bf44af9f 2732 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2733 /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2734 /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2735 /*OUT*/ PLPC_MESSAGE Message,
sca8er 2:5853bf44af9f 2736 /*IN*/ PLARGE_INTEGER Timeout);
sca8er 2:5853bf44af9f 2737
sca8er 2:5853bf44af9f 2738 NTOSAPI
sca8er 2:5853bf44af9f 2739 NTSTATUS
sca8er 2:5853bf44af9f 2740 NTAPI
sca8er 2:5853bf44af9f 2741 NtReadRequestData(
sca8er 2:5853bf44af9f 2742 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2743 /*IN*/ PLPC_MESSAGE Message,
sca8er 2:5853bf44af9f 2744 /*IN*/ ULONG Index,
sca8er 2:5853bf44af9f 2745 /*OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 2746 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 2747 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2748
sca8er 2:5853bf44af9f 2749 NTOSAPI
sca8er 2:5853bf44af9f 2750 NTSTATUS
sca8er 2:5853bf44af9f 2751 NTAPI
sca8er 2:5853bf44af9f 2752 ZwReadRequestData(
sca8er 2:5853bf44af9f 2753 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2754 /*IN*/ PLPC_MESSAGE Message,
sca8er 2:5853bf44af9f 2755 /*IN*/ ULONG Index,
sca8er 2:5853bf44af9f 2756 /*OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 2757 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 2758 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2759
sca8er 2:5853bf44af9f 2760 NTOSAPI
sca8er 2:5853bf44af9f 2761 NTSTATUS
sca8er 2:5853bf44af9f 2762 NTAPI
sca8er 2:5853bf44af9f 2763 NtWriteRequestData(
sca8er 2:5853bf44af9f 2764 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2765 /*IN*/ PLPC_MESSAGE Message,
sca8er 2:5853bf44af9f 2766 /*IN*/ ULONG Index,
sca8er 2:5853bf44af9f 2767 /*IN*/ PVOID Buffer,
sca8er 2:5853bf44af9f 2768 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 2769 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2770
sca8er 2:5853bf44af9f 2771 NTOSAPI
sca8er 2:5853bf44af9f 2772 NTSTATUS
sca8er 2:5853bf44af9f 2773 NTAPI
sca8er 2:5853bf44af9f 2774 ZwWriteRequestData(
sca8er 2:5853bf44af9f 2775 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2776 /*IN*/ PLPC_MESSAGE Message,
sca8er 2:5853bf44af9f 2777 /*IN*/ ULONG Index,
sca8er 2:5853bf44af9f 2778 /*IN*/ PVOID Buffer,
sca8er 2:5853bf44af9f 2779 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 2780 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2781
sca8er 2:5853bf44af9f 2782 typedef enum _PORT_INFORMATION_CLASS {
sca8er 2:5853bf44af9f 2783 PortBasicInformation
sca8er 2:5853bf44af9f 2784 } PORT_INFORMATION_CLASS;
sca8er 2:5853bf44af9f 2785
sca8er 2:5853bf44af9f 2786 NTOSAPI
sca8er 2:5853bf44af9f 2787 NTSTATUS
sca8er 2:5853bf44af9f 2788 NTAPI
sca8er 2:5853bf44af9f 2789 NtQueryInformationPort(
sca8er 2:5853bf44af9f 2790 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2791 /*IN*/ PORT_INFORMATION_CLASS PortInformationClass,
sca8er 2:5853bf44af9f 2792 /*OUT*/ PVOID PortInformation,
sca8er 2:5853bf44af9f 2793 /*IN*/ ULONG PortInformationLength,
sca8er 2:5853bf44af9f 2794 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2795
sca8er 2:5853bf44af9f 2796 NTOSAPI
sca8er 2:5853bf44af9f 2797 NTSTATUS
sca8er 2:5853bf44af9f 2798 NTAPI
sca8er 2:5853bf44af9f 2799 ZwQueryInformationPort(
sca8er 2:5853bf44af9f 2800 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2801 /*IN*/ PORT_INFORMATION_CLASS PortInformationClass,
sca8er 2:5853bf44af9f 2802 /*OUT*/ PVOID PortInformation,
sca8er 2:5853bf44af9f 2803 /*IN*/ ULONG PortInformationLength,
sca8er 2:5853bf44af9f 2804 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2805
sca8er 2:5853bf44af9f 2806 NTOSAPI
sca8er 2:5853bf44af9f 2807 NTSTATUS
sca8er 2:5853bf44af9f 2808 NTAPI
sca8er 2:5853bf44af9f 2809 NtImpersonateClientOfPort(
sca8er 2:5853bf44af9f 2810 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2811 /*IN*/ PLPC_MESSAGE Message);
sca8er 2:5853bf44af9f 2812
sca8er 2:5853bf44af9f 2813 NTOSAPI
sca8er 2:5853bf44af9f 2814 NTSTATUS
sca8er 2:5853bf44af9f 2815 NTAPI
sca8er 2:5853bf44af9f 2816 ZwImpersonateClientOfPort(
sca8er 2:5853bf44af9f 2817 /*IN*/ HANDLE PortHandle,
sca8er 2:5853bf44af9f 2818 /*IN*/ PLPC_MESSAGE Message);
sca8er 2:5853bf44af9f 2819
sca8er 2:5853bf44af9f 2820
sca8er 2:5853bf44af9f 2821
sca8er 2:5853bf44af9f 2822
sca8er 2:5853bf44af9f 2823 /* Files */
sca8er 2:5853bf44af9f 2824
sca8er 2:5853bf44af9f 2825 NTOSAPI
sca8er 2:5853bf44af9f 2826 NTSTATUS
sca8er 2:5853bf44af9f 2827 NTAPI
sca8er 2:5853bf44af9f 2828 NtDeleteFile(
sca8er 2:5853bf44af9f 2829 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
sca8er 2:5853bf44af9f 2830
sca8er 2:5853bf44af9f 2831 NTOSAPI
sca8er 2:5853bf44af9f 2832 NTSTATUS
sca8er 2:5853bf44af9f 2833 NTAPI
sca8er 2:5853bf44af9f 2834 ZwDeleteFile(
sca8er 2:5853bf44af9f 2835 /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);
sca8er 2:5853bf44af9f 2836
sca8er 2:5853bf44af9f 2837 NTOSAPI
sca8er 2:5853bf44af9f 2838 NTSTATUS
sca8er 2:5853bf44af9f 2839 NTAPI
sca8er 2:5853bf44af9f 2840 NtFlushBuffersFile(
sca8er 2:5853bf44af9f 2841 /*IN*/ HANDLE FileHandle,
sca8er 2:5853bf44af9f 2842 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
sca8er 2:5853bf44af9f 2843
sca8er 2:5853bf44af9f 2844 NTOSAPI
sca8er 2:5853bf44af9f 2845 NTSTATUS
sca8er 2:5853bf44af9f 2846 NTAPI
sca8er 2:5853bf44af9f 2847 ZwFlushBuffersFile(
sca8er 2:5853bf44af9f 2848 /*IN*/ HANDLE FileHandle,
sca8er 2:5853bf44af9f 2849 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
sca8er 2:5853bf44af9f 2850
sca8er 2:5853bf44af9f 2851 NTOSAPI
sca8er 2:5853bf44af9f 2852 NTSTATUS
sca8er 2:5853bf44af9f 2853 NTAPI
sca8er 2:5853bf44af9f 2854 NtCancelIoFile(
sca8er 2:5853bf44af9f 2855 /*IN*/ HANDLE FileHandle,
sca8er 2:5853bf44af9f 2856 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
sca8er 2:5853bf44af9f 2857
sca8er 2:5853bf44af9f 2858 NTOSAPI
sca8er 2:5853bf44af9f 2859 NTSTATUS
sca8er 2:5853bf44af9f 2860 NTAPI
sca8er 2:5853bf44af9f 2861 ZwCancelIoFile(
sca8er 2:5853bf44af9f 2862 /*IN*/ HANDLE FileHandle,
sca8er 2:5853bf44af9f 2863 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock);
sca8er 2:5853bf44af9f 2864
sca8er 2:5853bf44af9f 2865 NTOSAPI
sca8er 2:5853bf44af9f 2866 NTSTATUS
sca8er 2:5853bf44af9f 2867 NTAPI
sca8er 2:5853bf44af9f 2868 NtReadFileScatter(
sca8er 2:5853bf44af9f 2869 /*IN*/ HANDLE FileHandle,
sca8er 2:5853bf44af9f 2870 /*IN*/ HANDLE Event /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2871 /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2872 /*IN*/ PVOID ApcContext /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2873 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
sca8er 2:5853bf44af9f 2874 /*IN*/ PFILE_SEGMENT_ELEMENT Buffer,
sca8er 2:5853bf44af9f 2875 /*IN*/ ULONG Length,
sca8er 2:5853bf44af9f 2876 /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2877 /*IN*/ PULONG Key /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2878
sca8er 2:5853bf44af9f 2879 NTOSAPI
sca8er 2:5853bf44af9f 2880 NTSTATUS
sca8er 2:5853bf44af9f 2881 NTAPI
sca8er 2:5853bf44af9f 2882 ZwReadFileScatter(
sca8er 2:5853bf44af9f 2883 /*IN*/ HANDLE FileHandle,
sca8er 2:5853bf44af9f 2884 /*IN*/ HANDLE Event /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2885 /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2886 /*IN*/ PVOID ApcContext /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2887 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
sca8er 2:5853bf44af9f 2888 /*IN*/ PFILE_SEGMENT_ELEMENT Buffer,
sca8er 2:5853bf44af9f 2889 /*IN*/ ULONG Length,
sca8er 2:5853bf44af9f 2890 /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2891 /*IN*/ PULONG Key /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2892
sca8er 2:5853bf44af9f 2893 NTOSAPI
sca8er 2:5853bf44af9f 2894 NTSTATUS
sca8er 2:5853bf44af9f 2895 NTAPI
sca8er 2:5853bf44af9f 2896 NtWriteFileGather(
sca8er 2:5853bf44af9f 2897 /*IN*/ HANDLE FileHandle,
sca8er 2:5853bf44af9f 2898 /*IN*/ HANDLE Event /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2899 /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2900 /*IN*/ PVOID ApcContext /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2901 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
sca8er 2:5853bf44af9f 2902 /*IN*/ PFILE_SEGMENT_ELEMENT Buffer,
sca8er 2:5853bf44af9f 2903 /*IN*/ ULONG Length,
sca8er 2:5853bf44af9f 2904 /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2905 /*IN*/ PULONG Key /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2906
sca8er 2:5853bf44af9f 2907 NTOSAPI
sca8er 2:5853bf44af9f 2908 NTSTATUS
sca8er 2:5853bf44af9f 2909 NTAPI
sca8er 2:5853bf44af9f 2910 ZwWriteFileGather(
sca8er 2:5853bf44af9f 2911 /*IN*/ HANDLE FileHandle,
sca8er 2:5853bf44af9f 2912 /*IN*/ HANDLE Event /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2913 /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2914 /*IN*/ PVOID ApcContext /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2915 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
sca8er 2:5853bf44af9f 2916 /*IN*/ PFILE_SEGMENT_ELEMENT Buffer,
sca8er 2:5853bf44af9f 2917 /*IN*/ ULONG Length,
sca8er 2:5853bf44af9f 2918 /*IN*/ PLARGE_INTEGER ByteOffset /*OPTIONAL*/,
sca8er 2:5853bf44af9f 2919 /*IN*/ PULONG Key /*OPTIONAL*/);
sca8er 2:5853bf44af9f 2920
sca8er 2:5853bf44af9f 2921
sca8er 2:5853bf44af9f 2922
sca8er 2:5853bf44af9f 2923
sca8er 2:5853bf44af9f 2924 /* Registry keys */
sca8er 2:5853bf44af9f 2925
sca8er 2:5853bf44af9f 2926 NTOSAPI
sca8er 2:5853bf44af9f 2927 NTSTATUS
sca8er 2:5853bf44af9f 2928 NTAPI
sca8er 2:5853bf44af9f 2929 NtSaveKey(
sca8er 2:5853bf44af9f 2930 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 2931 /*IN*/ HANDLE FileHandle);
sca8er 2:5853bf44af9f 2932
sca8er 2:5853bf44af9f 2933 NTOSAPI
sca8er 2:5853bf44af9f 2934 NTSTATUS
sca8er 2:5853bf44af9f 2935 NTAPI
sca8er 2:5853bf44af9f 2936 ZwSaveKey(
sca8er 2:5853bf44af9f 2937 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 2938 /*IN*/ HANDLE FileHandle);
sca8er 2:5853bf44af9f 2939
sca8er 2:5853bf44af9f 2940 NTOSAPI
sca8er 2:5853bf44af9f 2941 NTSTATUS
sca8er 2:5853bf44af9f 2942 NTAPI
sca8er 2:5853bf44af9f 2943 NtSaveMergedKeys(
sca8er 2:5853bf44af9f 2944 /*IN*/ HANDLE KeyHandle1,
sca8er 2:5853bf44af9f 2945 /*IN*/ HANDLE KeyHandle2,
sca8er 2:5853bf44af9f 2946 /*IN*/ HANDLE FileHandle);
sca8er 2:5853bf44af9f 2947
sca8er 2:5853bf44af9f 2948 NTOSAPI
sca8er 2:5853bf44af9f 2949 NTSTATUS
sca8er 2:5853bf44af9f 2950 NTAPI
sca8er 2:5853bf44af9f 2951 ZwSaveMergedKeys(
sca8er 2:5853bf44af9f 2952 /*IN*/ HANDLE KeyHandle1,
sca8er 2:5853bf44af9f 2953 /*IN*/ HANDLE KeyHandle2,
sca8er 2:5853bf44af9f 2954 /*IN*/ HANDLE FileHandle);
sca8er 2:5853bf44af9f 2955
sca8er 2:5853bf44af9f 2956 NTOSAPI
sca8er 2:5853bf44af9f 2957 NTSTATUS
sca8er 2:5853bf44af9f 2958 NTAPI
sca8er 2:5853bf44af9f 2959 NtRestoreKey(
sca8er 2:5853bf44af9f 2960 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 2961 /*IN*/ HANDLE FileHandle,
sca8er 2:5853bf44af9f 2962 /*IN*/ ULONG Flags);
sca8er 2:5853bf44af9f 2963
sca8er 2:5853bf44af9f 2964 NTOSAPI
sca8er 2:5853bf44af9f 2965 NTSTATUS
sca8er 2:5853bf44af9f 2966 NTAPI
sca8er 2:5853bf44af9f 2967 ZwRestoreKey(
sca8er 2:5853bf44af9f 2968 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 2969 /*IN*/ HANDLE FileHandle,
sca8er 2:5853bf44af9f 2970 /*IN*/ ULONG Flags);
sca8er 2:5853bf44af9f 2971
sca8er 2:5853bf44af9f 2972 NTOSAPI
sca8er 2:5853bf44af9f 2973 NTSTATUS
sca8er 2:5853bf44af9f 2974 NTAPI
sca8er 2:5853bf44af9f 2975 NtLoadKey(
sca8er 2:5853bf44af9f 2976 /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
sca8er 2:5853bf44af9f 2977 /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes);
sca8er 2:5853bf44af9f 2978
sca8er 2:5853bf44af9f 2979 NTOSAPI
sca8er 2:5853bf44af9f 2980 NTSTATUS
sca8er 2:5853bf44af9f 2981 NTAPI
sca8er 2:5853bf44af9f 2982 ZwLoadKey(
sca8er 2:5853bf44af9f 2983 /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
sca8er 2:5853bf44af9f 2984 /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes);
sca8er 2:5853bf44af9f 2985
sca8er 2:5853bf44af9f 2986 NTOSAPI
sca8er 2:5853bf44af9f 2987 NTSTATUS
sca8er 2:5853bf44af9f 2988 NTAPI
sca8er 2:5853bf44af9f 2989 NtLoadKey2(
sca8er 2:5853bf44af9f 2990 /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
sca8er 2:5853bf44af9f 2991 /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes,
sca8er 2:5853bf44af9f 2992 /*IN*/ ULONG Flags);
sca8er 2:5853bf44af9f 2993
sca8er 2:5853bf44af9f 2994 NTOSAPI
sca8er 2:5853bf44af9f 2995 NTSTATUS
sca8er 2:5853bf44af9f 2996 NTAPI
sca8er 2:5853bf44af9f 2997 ZwLoadKey2(
sca8er 2:5853bf44af9f 2998 /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
sca8er 2:5853bf44af9f 2999 /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes,
sca8er 2:5853bf44af9f 3000 /*IN*/ ULONG Flags);
sca8er 2:5853bf44af9f 3001
sca8er 2:5853bf44af9f 3002 NTOSAPI
sca8er 2:5853bf44af9f 3003 NTSTATUS
sca8er 2:5853bf44af9f 3004 NTAPI
sca8er 2:5853bf44af9f 3005 NtUnloadKey(
sca8er 2:5853bf44af9f 3006 /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes);
sca8er 2:5853bf44af9f 3007
sca8er 2:5853bf44af9f 3008 NTOSAPI
sca8er 2:5853bf44af9f 3009 NTSTATUS
sca8er 2:5853bf44af9f 3010 NTAPI
sca8er 2:5853bf44af9f 3011 ZwUnloadKey(
sca8er 2:5853bf44af9f 3012 /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes);
sca8er 2:5853bf44af9f 3013
sca8er 2:5853bf44af9f 3014 NTOSAPI
sca8er 2:5853bf44af9f 3015 NTSTATUS
sca8er 2:5853bf44af9f 3016 NTAPI
sca8er 2:5853bf44af9f 3017 NtQueryOpenSubKeys(
sca8er 2:5853bf44af9f 3018 /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
sca8er 2:5853bf44af9f 3019 /*OUT*/ PULONG NumberOfKeys);
sca8er 2:5853bf44af9f 3020
sca8er 2:5853bf44af9f 3021 NTOSAPI
sca8er 2:5853bf44af9f 3022 NTSTATUS
sca8er 2:5853bf44af9f 3023 NTAPI
sca8er 2:5853bf44af9f 3024 ZwQueryOpenSubKeys(
sca8er 2:5853bf44af9f 3025 /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
sca8er 2:5853bf44af9f 3026 /*OUT*/ PULONG NumberOfKeys);
sca8er 2:5853bf44af9f 3027
sca8er 2:5853bf44af9f 3028 NTOSAPI
sca8er 2:5853bf44af9f 3029 NTSTATUS
sca8er 2:5853bf44af9f 3030 NTAPI
sca8er 2:5853bf44af9f 3031 NtReplaceKey(
sca8er 2:5853bf44af9f 3032 /*IN*/ POBJECT_ATTRIBUTES NewFileObjectAttributes,
sca8er 2:5853bf44af9f 3033 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 3034 /*IN*/ POBJECT_ATTRIBUTES OldFileObjectAttributes);
sca8er 2:5853bf44af9f 3035
sca8er 2:5853bf44af9f 3036 NTOSAPI
sca8er 2:5853bf44af9f 3037 NTSTATUS
sca8er 2:5853bf44af9f 3038 NTAPI
sca8er 2:5853bf44af9f 3039 ZwReplaceKey(
sca8er 2:5853bf44af9f 3040 /*IN*/ POBJECT_ATTRIBUTES NewFileObjectAttributes,
sca8er 2:5853bf44af9f 3041 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 3042 /*IN*/ POBJECT_ATTRIBUTES OldFileObjectAttributes);
sca8er 2:5853bf44af9f 3043
sca8er 2:5853bf44af9f 3044 typedef enum _KEY_SET_INFORMATION_CLASS {
sca8er 2:5853bf44af9f 3045 KeyLastWriteTimeInformation
sca8er 2:5853bf44af9f 3046 } KEY_SET_INFORMATION_CLASS;
sca8er 2:5853bf44af9f 3047
sca8er 2:5853bf44af9f 3048 NTOSAPI
sca8er 2:5853bf44af9f 3049 NTSTATUS
sca8er 2:5853bf44af9f 3050 NTAPI
sca8er 2:5853bf44af9f 3051 NtSetInformationKey(
sca8er 2:5853bf44af9f 3052 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 3053 /*IN*/ KEY_SET_INFORMATION_CLASS KeyInformationClass,
sca8er 2:5853bf44af9f 3054 /*IN*/ PVOID KeyInformation,
sca8er 2:5853bf44af9f 3055 /*IN*/ ULONG KeyInformationLength);
sca8er 2:5853bf44af9f 3056
sca8er 2:5853bf44af9f 3057 NTOSAPI
sca8er 2:5853bf44af9f 3058 NTSTATUS
sca8er 2:5853bf44af9f 3059 NTAPI
sca8er 2:5853bf44af9f 3060 ZwSetInformationKey(
sca8er 2:5853bf44af9f 3061 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 3062 /*IN*/ KEY_SET_INFORMATION_CLASS KeyInformationClass,
sca8er 2:5853bf44af9f 3063 /*IN*/ PVOID KeyInformation,
sca8er 2:5853bf44af9f 3064 /*IN*/ ULONG KeyInformationLength);
sca8er 2:5853bf44af9f 3065
sca8er 2:5853bf44af9f 3066 typedef struct _KEY_LAST_WRITE_TIME_INFORMATION {
sca8er 2:5853bf44af9f 3067 LARGE_INTEGER LastWriteTime;
sca8er 2:5853bf44af9f 3068 } KEY_LAST_WRITE_TIME_INFORMATION, *PKEY_LAST_WRITE_TIME_INFORMATION;
sca8er 2:5853bf44af9f 3069
sca8er 2:5853bf44af9f 3070 typedef struct _KEY_NAME_INFORMATION {
sca8er 2:5853bf44af9f 3071 ULONG NameLength;
sca8er 2:5853bf44af9f 3072 WCHAR Name[1];
sca8er 2:5853bf44af9f 3073 } KEY_NAME_INFORMATION, *PKEY_NAME_INFORMATION;
sca8er 2:5853bf44af9f 3074
sca8er 2:5853bf44af9f 3075 NTOSAPI
sca8er 2:5853bf44af9f 3076 NTSTATUS
sca8er 2:5853bf44af9f 3077 NTAPI
sca8er 2:5853bf44af9f 3078 NtNotifyChangeKey(
sca8er 2:5853bf44af9f 3079 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 3080 /*IN*/ HANDLE EventHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3081 /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3082 /*IN*/ PVOID ApcContext /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3083 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
sca8er 2:5853bf44af9f 3084 /*IN*/ ULONG NotifyFilter,
sca8er 2:5853bf44af9f 3085 /*IN*/ BOOLEAN WatchSubtree,
sca8er 2:5853bf44af9f 3086 /*IN*/ PVOID Buffer,
sca8er 2:5853bf44af9f 3087 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 3088 /*IN*/ BOOLEAN Asynchronous);
sca8er 2:5853bf44af9f 3089
sca8er 2:5853bf44af9f 3090 NTOSAPI
sca8er 2:5853bf44af9f 3091 NTSTATUS
sca8er 2:5853bf44af9f 3092 NTAPI
sca8er 2:5853bf44af9f 3093 ZwNotifyChangeKey(
sca8er 2:5853bf44af9f 3094 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 3095 /*IN*/ HANDLE EventHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3096 /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3097 /*IN*/ PVOID ApcContext /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3098 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
sca8er 2:5853bf44af9f 3099 /*IN*/ ULONG NotifyFilter,
sca8er 2:5853bf44af9f 3100 /*IN*/ BOOLEAN WatchSubtree,
sca8er 2:5853bf44af9f 3101 /*IN*/ PVOID Buffer,
sca8er 2:5853bf44af9f 3102 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 3103 /*IN*/ BOOLEAN Asynchronous);
sca8er 2:5853bf44af9f 3104
sca8er 2:5853bf44af9f 3105 /* ZwNotifyChangeMultipleKeys.Flags constants */
sca8er 2:5853bf44af9f 3106 #define REG_MONITOR_SINGLE_KEY 0x00
sca8er 2:5853bf44af9f 3107 #define REG_MONITOR_SECOND_KEY 0x01
sca8er 2:5853bf44af9f 3108
sca8er 2:5853bf44af9f 3109 NTOSAPI
sca8er 2:5853bf44af9f 3110 NTSTATUS
sca8er 2:5853bf44af9f 3111 NTAPI
sca8er 2:5853bf44af9f 3112 NtNotifyChangeMultipleKeys(
sca8er 2:5853bf44af9f 3113 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 3114 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 3115 /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
sca8er 2:5853bf44af9f 3116 /*IN*/ HANDLE EventHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3117 /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3118 /*IN*/ PVOID ApcContext /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3119 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
sca8er 2:5853bf44af9f 3120 /*IN*/ ULONG NotifyFilter,
sca8er 2:5853bf44af9f 3121 /*IN*/ BOOLEAN WatchSubtree,
sca8er 2:5853bf44af9f 3122 /*IN*/ PVOID Buffer,
sca8er 2:5853bf44af9f 3123 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 3124 /*IN*/ BOOLEAN Asynchronous);
sca8er 2:5853bf44af9f 3125
sca8er 2:5853bf44af9f 3126 NTOSAPI
sca8er 2:5853bf44af9f 3127 NTSTATUS
sca8er 2:5853bf44af9f 3128 NTAPI
sca8er 2:5853bf44af9f 3129 ZwNotifyChangeMultipleKeys(
sca8er 2:5853bf44af9f 3130 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 3131 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 3132 /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
sca8er 2:5853bf44af9f 3133 /*IN*/ HANDLE EventHandle /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3134 /*IN*/ PIO_APC_ROUTINE ApcRoutine /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3135 /*IN*/ PVOID ApcContext /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3136 /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
sca8er 2:5853bf44af9f 3137 /*IN*/ ULONG NotifyFilter,
sca8er 2:5853bf44af9f 3138 /*IN*/ BOOLEAN WatchSubtree,
sca8er 2:5853bf44af9f 3139 /*IN*/ PVOID Buffer,
sca8er 2:5853bf44af9f 3140 /*IN*/ ULONG BufferLength,
sca8er 2:5853bf44af9f 3141 /*IN*/ BOOLEAN Asynchronous);
sca8er 2:5853bf44af9f 3142
sca8er 2:5853bf44af9f 3143 NTOSAPI
sca8er 2:5853bf44af9f 3144 NTSTATUS
sca8er 2:5853bf44af9f 3145 NTAPI
sca8er 2:5853bf44af9f 3146 NtQueryMultipleValueKey(
sca8er 2:5853bf44af9f 3147 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 3148 /*IN OUT*/ PKEY_VALUE_ENTRY ValueList,
sca8er 2:5853bf44af9f 3149 /*IN*/ ULONG NumberOfValues,
sca8er 2:5853bf44af9f 3150 /*OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 3151 /*IN OUT*/ PULONG Length,
sca8er 2:5853bf44af9f 3152 /*OUT*/ PULONG ReturnLength);
sca8er 2:5853bf44af9f 3153
sca8er 2:5853bf44af9f 3154 NTOSAPI
sca8er 2:5853bf44af9f 3155 NTSTATUS
sca8er 2:5853bf44af9f 3156 NTAPI
sca8er 2:5853bf44af9f 3157 ZwQueryMultipleValueKey(
sca8er 2:5853bf44af9f 3158 /*IN*/ HANDLE KeyHandle,
sca8er 2:5853bf44af9f 3159 /*IN OUT*/ PKEY_VALUE_ENTRY ValueList,
sca8er 2:5853bf44af9f 3160 /*IN*/ ULONG NumberOfValues,
sca8er 2:5853bf44af9f 3161 /*OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 3162 /*IN OUT*/ PULONG Length,
sca8er 2:5853bf44af9f 3163 /*OUT*/ PULONG ReturnLength);
sca8er 2:5853bf44af9f 3164
sca8er 2:5853bf44af9f 3165 NTOSAPI
sca8er 2:5853bf44af9f 3166 NTSTATUS
sca8er 2:5853bf44af9f 3167 NTAPI
sca8er 2:5853bf44af9f 3168 NtInitializeRegistry(
sca8er 2:5853bf44af9f 3169 /*IN*/ BOOLEAN Setup);
sca8er 2:5853bf44af9f 3170
sca8er 2:5853bf44af9f 3171 NTOSAPI
sca8er 2:5853bf44af9f 3172 NTSTATUS
sca8er 2:5853bf44af9f 3173 NTAPI
sca8er 2:5853bf44af9f 3174 ZwInitializeRegistry(
sca8er 2:5853bf44af9f 3175 /*IN*/ BOOLEAN Setup);
sca8er 2:5853bf44af9f 3176
sca8er 2:5853bf44af9f 3177
sca8er 2:5853bf44af9f 3178
sca8er 2:5853bf44af9f 3179
sca8er 2:5853bf44af9f 3180 /* Security and auditing */
sca8er 2:5853bf44af9f 3181
sca8er 2:5853bf44af9f 3182 NTOSAPI
sca8er 2:5853bf44af9f 3183 NTSTATUS
sca8er 2:5853bf44af9f 3184 NTAPI
sca8er 2:5853bf44af9f 3185 NtPrivilegeCheck(
sca8er 2:5853bf44af9f 3186 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3187 /*IN*/ PPRIVILEGE_SET RequiredPrivileges,
sca8er 2:5853bf44af9f 3188 /*OUT*/ PBOOLEAN Result);
sca8er 2:5853bf44af9f 3189
sca8er 2:5853bf44af9f 3190 NTOSAPI
sca8er 2:5853bf44af9f 3191 NTSTATUS
sca8er 2:5853bf44af9f 3192 NTAPI
sca8er 2:5853bf44af9f 3193 ZwPrivilegeCheck(
sca8er 2:5853bf44af9f 3194 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3195 /*IN*/ PPRIVILEGE_SET RequiredPrivileges,
sca8er 2:5853bf44af9f 3196 /*OUT*/ PBOOLEAN Result);
sca8er 2:5853bf44af9f 3197
sca8er 2:5853bf44af9f 3198 NTOSAPI
sca8er 2:5853bf44af9f 3199 NTSTATUS
sca8er 2:5853bf44af9f 3200 NTAPI
sca8er 2:5853bf44af9f 3201 NtPrivilegeObjectAuditAlarm(
sca8er 2:5853bf44af9f 3202 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3203 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3204 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3205 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3206 /*IN*/ PPRIVILEGE_SET Privileges,
sca8er 2:5853bf44af9f 3207 /*IN*/ BOOLEAN AccessGranted);
sca8er 2:5853bf44af9f 3208
sca8er 2:5853bf44af9f 3209 NTOSAPI
sca8er 2:5853bf44af9f 3210 NTSTATUS
sca8er 2:5853bf44af9f 3211 NTAPI
sca8er 2:5853bf44af9f 3212 ZwPrivilegeObjectAuditAlarm(
sca8er 2:5853bf44af9f 3213 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3214 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3215 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3216 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3217 /*IN*/ PPRIVILEGE_SET Privileges,
sca8er 2:5853bf44af9f 3218 /*IN*/ BOOLEAN AccessGranted);
sca8er 2:5853bf44af9f 3219
sca8er 2:5853bf44af9f 3220 NTOSAPI
sca8er 2:5853bf44af9f 3221 NTSTATUS
sca8er 2:5853bf44af9f 3222 NTAPI
sca8er 2:5853bf44af9f 3223 NtAccessCheck(
sca8er 2:5853bf44af9f 3224 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3225 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3226 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3227 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3228 /*IN*/ PPRIVILEGE_SET PrivilegeSet,
sca8er 2:5853bf44af9f 3229 /*IN*/ PULONG PrivilegeSetLength,
sca8er 2:5853bf44af9f 3230 /*OUT*/ PACCESS_MASK GrantedAccess,
sca8er 2:5853bf44af9f 3231 /*OUT*/ PBOOLEAN AccessStatus);
sca8er 2:5853bf44af9f 3232
sca8er 2:5853bf44af9f 3233 NTOSAPI
sca8er 2:5853bf44af9f 3234 NTSTATUS
sca8er 2:5853bf44af9f 3235 NTAPI
sca8er 2:5853bf44af9f 3236 ZwAccessCheck(
sca8er 2:5853bf44af9f 3237 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3238 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3239 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3240 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3241 /*IN*/ PPRIVILEGE_SET PrivilegeSet,
sca8er 2:5853bf44af9f 3242 /*IN*/ PULONG PrivilegeSetLength,
sca8er 2:5853bf44af9f 3243 /*OUT*/ PACCESS_MASK GrantedAccess,
sca8er 2:5853bf44af9f 3244 /*OUT*/ PBOOLEAN AccessStatus);
sca8er 2:5853bf44af9f 3245
sca8er 2:5853bf44af9f 3246 NTOSAPI
sca8er 2:5853bf44af9f 3247 NTSTATUS
sca8er 2:5853bf44af9f 3248 NTAPI
sca8er 2:5853bf44af9f 3249 NtAccessCheckAndAuditAlarm(
sca8er 2:5853bf44af9f 3250 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3251 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3252 /*IN*/ PUNICODE_STRING ObjectTypeName,
sca8er 2:5853bf44af9f 3253 /*IN*/ PUNICODE_STRING ObjectName,
sca8er 2:5853bf44af9f 3254 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3255 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3256 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3257 /*IN*/ BOOLEAN ObjectCreation,
sca8er 2:5853bf44af9f 3258 /*OUT*/ PACCESS_MASK GrantedAccess,
sca8er 2:5853bf44af9f 3259 /*OUT*/ PBOOLEAN AccessStatus,
sca8er 2:5853bf44af9f 3260 /*OUT*/ PBOOLEAN GenerateOnClose);
sca8er 2:5853bf44af9f 3261
sca8er 2:5853bf44af9f 3262 NTOSAPI
sca8er 2:5853bf44af9f 3263 NTSTATUS
sca8er 2:5853bf44af9f 3264 NTAPI
sca8er 2:5853bf44af9f 3265 ZwAccessCheckAndAuditAlarm(
sca8er 2:5853bf44af9f 3266 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3267 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3268 /*IN*/ PUNICODE_STRING ObjectTypeName,
sca8er 2:5853bf44af9f 3269 /*IN*/ PUNICODE_STRING ObjectName,
sca8er 2:5853bf44af9f 3270 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3271 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3272 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3273 /*IN*/ BOOLEAN ObjectCreation,
sca8er 2:5853bf44af9f 3274 /*OUT*/ PACCESS_MASK GrantedAccess,
sca8er 2:5853bf44af9f 3275 /*OUT*/ PBOOLEAN AccessStatus,
sca8er 2:5853bf44af9f 3276 /*OUT*/ PBOOLEAN GenerateOnClose);
sca8er 2:5853bf44af9f 3277
sca8er 2:5853bf44af9f 3278 NTOSAPI
sca8er 2:5853bf44af9f 3279 NTSTATUS
sca8er 2:5853bf44af9f 3280 NTAPI
sca8er 2:5853bf44af9f 3281 NtAccessCheckByType(
sca8er 2:5853bf44af9f 3282 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3283 /*IN*/ PSID PrincipalSelfSid,
sca8er 2:5853bf44af9f 3284 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3285 /*IN*/ ULONG DesiredAccess,
sca8er 2:5853bf44af9f 3286 /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
sca8er 2:5853bf44af9f 3287 /*IN*/ ULONG ObjectTypeListLength,
sca8er 2:5853bf44af9f 3288 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3289 /*IN*/ PPRIVILEGE_SET PrivilegeSet,
sca8er 2:5853bf44af9f 3290 /*IN*/ PULONG PrivilegeSetLength,
sca8er 2:5853bf44af9f 3291 /*OUT*/ PACCESS_MASK GrantedAccess,
sca8er 2:5853bf44af9f 3292 /*OUT*/ PULONG AccessStatus);
sca8er 2:5853bf44af9f 3293
sca8er 2:5853bf44af9f 3294 NTOSAPI
sca8er 2:5853bf44af9f 3295 NTSTATUS
sca8er 2:5853bf44af9f 3296 NTAPI
sca8er 2:5853bf44af9f 3297 ZwAccessCheckByType(
sca8er 2:5853bf44af9f 3298 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3299 /*IN*/ PSID PrincipalSelfSid,
sca8er 2:5853bf44af9f 3300 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3301 /*IN*/ ULONG DesiredAccess,
sca8er 2:5853bf44af9f 3302 /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
sca8er 2:5853bf44af9f 3303 /*IN*/ ULONG ObjectTypeListLength,
sca8er 2:5853bf44af9f 3304 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3305 /*IN*/ PPRIVILEGE_SET PrivilegeSet,
sca8er 2:5853bf44af9f 3306 /*IN*/ PULONG PrivilegeSetLength,
sca8er 2:5853bf44af9f 3307 /*OUT*/ PACCESS_MASK GrantedAccess,
sca8er 2:5853bf44af9f 3308 /*OUT*/ PULONG AccessStatus);
sca8er 2:5853bf44af9f 3309
sca8er 2:5853bf44af9f 3310 typedef enum _AUDIT_EVENT_TYPE {
sca8er 2:5853bf44af9f 3311 AuditEventObjectAccess,
sca8er 2:5853bf44af9f 3312 AuditEventDirectoryServiceAccess
sca8er 2:5853bf44af9f 3313 } AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE;
sca8er 2:5853bf44af9f 3314
sca8er 2:5853bf44af9f 3315 NTOSAPI
sca8er 2:5853bf44af9f 3316 NTSTATUS
sca8er 2:5853bf44af9f 3317 NTAPI
sca8er 2:5853bf44af9f 3318 NtAccessCheckByTypeAndAuditAlarm(
sca8er 2:5853bf44af9f 3319 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3320 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3321 /*IN*/ PUNICODE_STRING ObjectTypeName,
sca8er 2:5853bf44af9f 3322 /*IN*/ PUNICODE_STRING ObjectName,
sca8er 2:5853bf44af9f 3323 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3324 /*IN*/ PSID PrincipalSelfSid,
sca8er 2:5853bf44af9f 3325 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3326 /*IN*/ AUDIT_EVENT_TYPE AuditType,
sca8er 2:5853bf44af9f 3327 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 3328 /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
sca8er 2:5853bf44af9f 3329 /*IN*/ ULONG ObjectTypeListLength,
sca8er 2:5853bf44af9f 3330 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3331 /*IN*/ BOOLEAN ObjectCreation,
sca8er 2:5853bf44af9f 3332 /*OUT*/ PACCESS_MASK GrantedAccess,
sca8er 2:5853bf44af9f 3333 /*OUT*/ PULONG AccessStatus,
sca8er 2:5853bf44af9f 3334 /*OUT*/ PBOOLEAN GenerateOnClose);
sca8er 2:5853bf44af9f 3335
sca8er 2:5853bf44af9f 3336 NTOSAPI
sca8er 2:5853bf44af9f 3337 NTSTATUS
sca8er 2:5853bf44af9f 3338 NTAPI
sca8er 2:5853bf44af9f 3339 ZwAccessCheckByTypeAndAuditAlarm(
sca8er 2:5853bf44af9f 3340 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3341 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3342 /*IN*/ PUNICODE_STRING ObjectTypeName,
sca8er 2:5853bf44af9f 3343 /*IN*/ PUNICODE_STRING ObjectName,
sca8er 2:5853bf44af9f 3344 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3345 /*IN*/ PSID PrincipalSelfSid,
sca8er 2:5853bf44af9f 3346 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3347 /*IN*/ AUDIT_EVENT_TYPE AuditType,
sca8er 2:5853bf44af9f 3348 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 3349 /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
sca8er 2:5853bf44af9f 3350 /*IN*/ ULONG ObjectTypeListLength,
sca8er 2:5853bf44af9f 3351 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3352 /*IN*/ BOOLEAN ObjectCreation,
sca8er 2:5853bf44af9f 3353 /*OUT*/ PACCESS_MASK GrantedAccess,
sca8er 2:5853bf44af9f 3354 /*OUT*/ PULONG AccessStatus,
sca8er 2:5853bf44af9f 3355 /*OUT*/ PBOOLEAN GenerateOnClose);
sca8er 2:5853bf44af9f 3356
sca8er 2:5853bf44af9f 3357 NTOSAPI
sca8er 2:5853bf44af9f 3358 NTSTATUS
sca8er 2:5853bf44af9f 3359 NTAPI
sca8er 2:5853bf44af9f 3360 NtAccessCheckByTypeResultList(
sca8er 2:5853bf44af9f 3361 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3362 /*IN*/ PSID PrincipalSelfSid,
sca8er 2:5853bf44af9f 3363 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3364 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3365 /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
sca8er 2:5853bf44af9f 3366 /*IN*/ ULONG ObjectTypeListLength,
sca8er 2:5853bf44af9f 3367 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3368 /*IN*/ PPRIVILEGE_SET PrivilegeSet,
sca8er 2:5853bf44af9f 3369 /*IN*/ PULONG PrivilegeSetLength,
sca8er 2:5853bf44af9f 3370 /*OUT*/ PACCESS_MASK GrantedAccessList,
sca8er 2:5853bf44af9f 3371 /*OUT*/ PULONG AccessStatusList);
sca8er 2:5853bf44af9f 3372
sca8er 2:5853bf44af9f 3373 NTOSAPI
sca8er 2:5853bf44af9f 3374 NTSTATUS
sca8er 2:5853bf44af9f 3375 NTAPI
sca8er 2:5853bf44af9f 3376 ZwAccessCheckByTypeResultList(
sca8er 2:5853bf44af9f 3377 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3378 /*IN*/ PSID PrincipalSelfSid,
sca8er 2:5853bf44af9f 3379 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3380 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3381 /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
sca8er 2:5853bf44af9f 3382 /*IN*/ ULONG ObjectTypeListLength,
sca8er 2:5853bf44af9f 3383 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3384 /*IN*/ PPRIVILEGE_SET PrivilegeSet,
sca8er 2:5853bf44af9f 3385 /*IN*/ PULONG PrivilegeSetLength,
sca8er 2:5853bf44af9f 3386 /*OUT*/ PACCESS_MASK GrantedAccessList,
sca8er 2:5853bf44af9f 3387 /*OUT*/ PULONG AccessStatusList);
sca8er 2:5853bf44af9f 3388
sca8er 2:5853bf44af9f 3389 NTOSAPI
sca8er 2:5853bf44af9f 3390 NTSTATUS
sca8er 2:5853bf44af9f 3391 NTAPI
sca8er 2:5853bf44af9f 3392 NtAccessCheckByTypeResultListAndAuditAlarm(
sca8er 2:5853bf44af9f 3393 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3394 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3395 /*IN*/ PUNICODE_STRING ObjectTypeName,
sca8er 2:5853bf44af9f 3396 /*IN*/ PUNICODE_STRING ObjectName,
sca8er 2:5853bf44af9f 3397 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3398 /*IN*/ PSID PrincipalSelfSid,
sca8er 2:5853bf44af9f 3399 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3400 /*IN*/ AUDIT_EVENT_TYPE AuditType,
sca8er 2:5853bf44af9f 3401 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 3402 /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
sca8er 2:5853bf44af9f 3403 /*IN*/ ULONG ObjectTypeListLength,
sca8er 2:5853bf44af9f 3404 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3405 /*IN*/ BOOLEAN ObjectCreation,
sca8er 2:5853bf44af9f 3406 /*OUT*/ PACCESS_MASK GrantedAccessList,
sca8er 2:5853bf44af9f 3407 /*OUT*/ PULONG AccessStatusList,
sca8er 2:5853bf44af9f 3408 /*OUT*/ PULONG GenerateOnClose);
sca8er 2:5853bf44af9f 3409
sca8er 2:5853bf44af9f 3410 NTOSAPI
sca8er 2:5853bf44af9f 3411 NTSTATUS
sca8er 2:5853bf44af9f 3412 NTAPI
sca8er 2:5853bf44af9f 3413 ZwAccessCheckByTypeResultListAndAuditAlarm(
sca8er 2:5853bf44af9f 3414 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3415 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3416 /*IN*/ PUNICODE_STRING ObjectTypeName,
sca8er 2:5853bf44af9f 3417 /*IN*/ PUNICODE_STRING ObjectName,
sca8er 2:5853bf44af9f 3418 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3419 /*IN*/ PSID PrincipalSelfSid,
sca8er 2:5853bf44af9f 3420 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3421 /*IN*/ AUDIT_EVENT_TYPE AuditType,
sca8er 2:5853bf44af9f 3422 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 3423 /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
sca8er 2:5853bf44af9f 3424 /*IN*/ ULONG ObjectTypeListLength,
sca8er 2:5853bf44af9f 3425 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3426 /*IN*/ BOOLEAN ObjectCreation,
sca8er 2:5853bf44af9f 3427 /*OUT*/ PACCESS_MASK GrantedAccessList,
sca8er 2:5853bf44af9f 3428 /*OUT*/ PULONG AccessStatusList,
sca8er 2:5853bf44af9f 3429 /*OUT*/ PULONG GenerateOnClose);
sca8er 2:5853bf44af9f 3430
sca8er 2:5853bf44af9f 3431 NTOSAPI
sca8er 2:5853bf44af9f 3432 NTSTATUS
sca8er 2:5853bf44af9f 3433 NTAPI
sca8er 2:5853bf44af9f 3434 NtAccessCheckByTypeResultListAndAuditAlarmByHandle(
sca8er 2:5853bf44af9f 3435 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3436 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3437 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3438 /*IN*/ PUNICODE_STRING ObjectTypeName,
sca8er 2:5853bf44af9f 3439 /*IN*/ PUNICODE_STRING ObjectName,
sca8er 2:5853bf44af9f 3440 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3441 /*IN*/ PSID PrincipalSelfSid,
sca8er 2:5853bf44af9f 3442 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3443 /*IN*/ AUDIT_EVENT_TYPE AuditType,
sca8er 2:5853bf44af9f 3444 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 3445 /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
sca8er 2:5853bf44af9f 3446 /*IN*/ ULONG ObjectTypeListLength,
sca8er 2:5853bf44af9f 3447 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3448 /*IN*/ BOOLEAN ObjectCreation,
sca8er 2:5853bf44af9f 3449 /*OUT*/ PACCESS_MASK GrantedAccessList,
sca8er 2:5853bf44af9f 3450 /*OUT*/ PULONG AccessStatusList,
sca8er 2:5853bf44af9f 3451 /*OUT*/ PULONG GenerateOnClose);
sca8er 2:5853bf44af9f 3452
sca8er 2:5853bf44af9f 3453 NTOSAPI
sca8er 2:5853bf44af9f 3454 NTSTATUS
sca8er 2:5853bf44af9f 3455 NTAPI
sca8er 2:5853bf44af9f 3456 ZwAccessCheckByTypeResultListAndAuditAlarmByHandle(
sca8er 2:5853bf44af9f 3457 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3458 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3459 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3460 /*IN*/ PUNICODE_STRING ObjectTypeName,
sca8er 2:5853bf44af9f 3461 /*IN*/ PUNICODE_STRING ObjectName,
sca8er 2:5853bf44af9f 3462 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3463 /*IN*/ PSID PrincipalSelfSid,
sca8er 2:5853bf44af9f 3464 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3465 /*IN*/ AUDIT_EVENT_TYPE AuditType,
sca8er 2:5853bf44af9f 3466 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 3467 /*IN*/ POBJECT_TYPE_LIST ObjectTypeList,
sca8er 2:5853bf44af9f 3468 /*IN*/ ULONG ObjectTypeListLength,
sca8er 2:5853bf44af9f 3469 /*IN*/ PGENERIC_MAPPING GenericMapping,
sca8er 2:5853bf44af9f 3470 /*IN*/ BOOLEAN ObjectCreation,
sca8er 2:5853bf44af9f 3471 /*OUT*/ PACCESS_MASK GrantedAccessList,
sca8er 2:5853bf44af9f 3472 /*OUT*/ PULONG AccessStatusList,
sca8er 2:5853bf44af9f 3473 /*OUT*/ PULONG GenerateOnClose);
sca8er 2:5853bf44af9f 3474
sca8er 2:5853bf44af9f 3475 NTOSAPI
sca8er 2:5853bf44af9f 3476 NTSTATUS
sca8er 2:5853bf44af9f 3477 NTAPI
sca8er 2:5853bf44af9f 3478 NtOpenObjectAuditAlarm(
sca8er 2:5853bf44af9f 3479 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3480 /*IN*/ PVOID *HandleId,
sca8er 2:5853bf44af9f 3481 /*IN*/ PUNICODE_STRING ObjectTypeName,
sca8er 2:5853bf44af9f 3482 /*IN*/ PUNICODE_STRING ObjectName,
sca8er 2:5853bf44af9f 3483 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3484 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3485 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3486 /*IN*/ ACCESS_MASK GrantedAccess,
sca8er 2:5853bf44af9f 3487 /*IN*/ PPRIVILEGE_SET Privileges /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3488 /*IN*/ BOOLEAN ObjectCreation,
sca8er 2:5853bf44af9f 3489 /*IN*/ BOOLEAN AccessGranted,
sca8er 2:5853bf44af9f 3490 /*OUT*/ PBOOLEAN GenerateOnClose);
sca8er 2:5853bf44af9f 3491
sca8er 2:5853bf44af9f 3492 NTOSAPI
sca8er 2:5853bf44af9f 3493 NTSTATUS
sca8er 2:5853bf44af9f 3494 NTAPI
sca8er 2:5853bf44af9f 3495 ZwOpenObjectAuditAlarm(
sca8er 2:5853bf44af9f 3496 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3497 /*IN*/ PVOID *HandleId,
sca8er 2:5853bf44af9f 3498 /*IN*/ PUNICODE_STRING ObjectTypeName,
sca8er 2:5853bf44af9f 3499 /*IN*/ PUNICODE_STRING ObjectName,
sca8er 2:5853bf44af9f 3500 /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
sca8er 2:5853bf44af9f 3501 /*IN*/ HANDLE TokenHandle,
sca8er 2:5853bf44af9f 3502 /*IN*/ ACCESS_MASK DesiredAccess,
sca8er 2:5853bf44af9f 3503 /*IN*/ ACCESS_MASK GrantedAccess,
sca8er 2:5853bf44af9f 3504 /*IN*/ PPRIVILEGE_SET Privileges /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3505 /*IN*/ BOOLEAN ObjectCreation,
sca8er 2:5853bf44af9f 3506 /*IN*/ BOOLEAN AccessGranted,
sca8er 2:5853bf44af9f 3507 /*OUT*/ PBOOLEAN GenerateOnClose);
sca8er 2:5853bf44af9f 3508
sca8er 2:5853bf44af9f 3509 NTOSAPI
sca8er 2:5853bf44af9f 3510 NTSTATUS
sca8er 2:5853bf44af9f 3511 NTAPI
sca8er 2:5853bf44af9f 3512 NtCloseObjectAuditAlarm(
sca8er 2:5853bf44af9f 3513 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3514 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3515 /*IN*/ BOOLEAN GenerateOnClose);
sca8er 2:5853bf44af9f 3516
sca8er 2:5853bf44af9f 3517 NTOSAPI
sca8er 2:5853bf44af9f 3518 NTSTATUS
sca8er 2:5853bf44af9f 3519 NTAPI
sca8er 2:5853bf44af9f 3520 ZwCloseObjectAuditAlarm(
sca8er 2:5853bf44af9f 3521 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3522 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3523 /*IN*/ BOOLEAN GenerateOnClose);
sca8er 2:5853bf44af9f 3524
sca8er 2:5853bf44af9f 3525 NTOSAPI
sca8er 2:5853bf44af9f 3526 NTSTATUS
sca8er 2:5853bf44af9f 3527 NTAPI
sca8er 2:5853bf44af9f 3528 NtDeleteObjectAuditAlarm(
sca8er 2:5853bf44af9f 3529 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3530 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3531 /*IN*/ BOOLEAN GenerateOnClose);
sca8er 2:5853bf44af9f 3532
sca8er 2:5853bf44af9f 3533 NTOSAPI
sca8er 2:5853bf44af9f 3534 NTSTATUS
sca8er 2:5853bf44af9f 3535 NTAPI
sca8er 2:5853bf44af9f 3536 ZwDeleteObjectAuditAlarm(
sca8er 2:5853bf44af9f 3537 /*IN*/ PUNICODE_STRING SubsystemName,
sca8er 2:5853bf44af9f 3538 /*IN*/ PVOID HandleId,
sca8er 2:5853bf44af9f 3539 /*IN*/ BOOLEAN GenerateOnClose);
sca8er 2:5853bf44af9f 3540
sca8er 2:5853bf44af9f 3541
sca8er 2:5853bf44af9f 3542
sca8er 2:5853bf44af9f 3543
sca8er 2:5853bf44af9f 3544 /* Plug and play and power management */
sca8er 2:5853bf44af9f 3545
sca8er 2:5853bf44af9f 3546 NTOSAPI
sca8er 2:5853bf44af9f 3547 NTSTATUS
sca8er 2:5853bf44af9f 3548 NTAPI
sca8er 2:5853bf44af9f 3549 ZwRequestWakeupLatency(
sca8er 2:5853bf44af9f 3550 /*IN*/ LATENCY_TIME Latency);
sca8er 2:5853bf44af9f 3551
sca8er 2:5853bf44af9f 3552 NTOSAPI
sca8er 2:5853bf44af9f 3553 NTSTATUS
sca8er 2:5853bf44af9f 3554 NTAPI
sca8er 2:5853bf44af9f 3555 ZwRequestDeviceWakeup(
sca8er 2:5853bf44af9f 3556 /*IN*/ HANDLE DeviceHandle);
sca8er 2:5853bf44af9f 3557
sca8er 2:5853bf44af9f 3558 NTOSAPI
sca8er 2:5853bf44af9f 3559 NTSTATUS
sca8er 2:5853bf44af9f 3560 NTAPI
sca8er 2:5853bf44af9f 3561 ZwCancelDeviceWakeupRequest(
sca8er 2:5853bf44af9f 3562 /*IN*/ HANDLE DeviceHandle);
sca8er 2:5853bf44af9f 3563
sca8er 2:5853bf44af9f 3564 NTOSAPI
sca8er 2:5853bf44af9f 3565 BOOLEAN
sca8er 2:5853bf44af9f 3566 NTAPI
sca8er 2:5853bf44af9f 3567 ZwIsSystemResumeAutomatic(
sca8er 2:5853bf44af9f 3568 VOID);
sca8er 2:5853bf44af9f 3569
sca8er 2:5853bf44af9f 3570 NTOSAPI
sca8er 2:5853bf44af9f 3571 NTSTATUS
sca8er 2:5853bf44af9f 3572 NTAPI
sca8er 2:5853bf44af9f 3573 ZwSetThreadExecutionState(
sca8er 2:5853bf44af9f 3574 /*IN*/ EXECUTION_STATE ExecutionState,
sca8er 2:5853bf44af9f 3575 /*OUT*/ PEXECUTION_STATE PreviousExecutionState);
sca8er 2:5853bf44af9f 3576
sca8er 2:5853bf44af9f 3577 NTOSAPI
sca8er 2:5853bf44af9f 3578 NTSTATUS
sca8er 2:5853bf44af9f 3579 NTAPI
sca8er 2:5853bf44af9f 3580 ZwGetDevicePowerState(
sca8er 2:5853bf44af9f 3581 /*IN*/ HANDLE DeviceHandle,
sca8er 2:5853bf44af9f 3582 /*OUT*/ PDEVICE_POWER_STATE DevicePowerState);
sca8er 2:5853bf44af9f 3583
sca8er 2:5853bf44af9f 3584 NTOSAPI
sca8er 2:5853bf44af9f 3585 NTSTATUS
sca8er 2:5853bf44af9f 3586 NTAPI
sca8er 2:5853bf44af9f 3587 ZwSetSystemPowerState(
sca8er 2:5853bf44af9f 3588 /*IN*/ POWER_ACTION SystemAction,
sca8er 2:5853bf44af9f 3589 /*IN*/ SYSTEM_POWER_STATE MinSystemState,
sca8er 2:5853bf44af9f 3590 /*IN*/ ULONG Flags);
sca8er 2:5853bf44af9f 3591
sca8er 2:5853bf44af9f 3592 NTOSAPI
sca8er 2:5853bf44af9f 3593 NTSTATUS
sca8er 2:5853bf44af9f 3594 NTAPI
sca8er 2:5853bf44af9f 3595 ZwInitiatePowerAction(
sca8er 2:5853bf44af9f 3596 /*IN*/ POWER_ACTION SystemAction,
sca8er 2:5853bf44af9f 3597 /*IN*/ SYSTEM_POWER_STATE MinSystemState,
sca8er 2:5853bf44af9f 3598 /*IN*/ ULONG Flags,
sca8er 2:5853bf44af9f 3599 /*IN*/ BOOLEAN Asynchronous);
sca8er 2:5853bf44af9f 3600
sca8er 2:5853bf44af9f 3601 NTOSAPI
sca8er 2:5853bf44af9f 3602 NTSTATUS
sca8er 2:5853bf44af9f 3603 NTAPI
sca8er 2:5853bf44af9f 3604 ZwPowerInformation(
sca8er 2:5853bf44af9f 3605 /*IN*/ POWER_INFORMATION_LEVEL PowerInformationLevel,
sca8er 2:5853bf44af9f 3606 /*IN*/ PVOID InputBuffer /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3607 /*IN*/ ULONG InputBufferLength,
sca8er 2:5853bf44af9f 3608 /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3609 /*IN*/ ULONG OutputBufferLength);
sca8er 2:5853bf44af9f 3610
sca8er 2:5853bf44af9f 3611 NTOSAPI
sca8er 2:5853bf44af9f 3612 NTSTATUS
sca8er 2:5853bf44af9f 3613 NTAPI
sca8er 2:5853bf44af9f 3614 NtPlugPlayControl(
sca8er 2:5853bf44af9f 3615 /*IN*/ ULONG ControlCode,
sca8er 2:5853bf44af9f 3616 /*IN OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 3617 /*IN*/ ULONG BufferLength);
sca8er 2:5853bf44af9f 3618
sca8er 2:5853bf44af9f 3619 NTOSAPI
sca8er 2:5853bf44af9f 3620 NTSTATUS
sca8er 2:5853bf44af9f 3621 NTAPI
sca8er 2:5853bf44af9f 3622 ZwPlugPlayControl(
sca8er 2:5853bf44af9f 3623 /*IN*/ ULONG ControlCode,
sca8er 2:5853bf44af9f 3624 /*IN OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 3625 /*IN*/ ULONG BufferLength);
sca8er 2:5853bf44af9f 3626
sca8er 2:5853bf44af9f 3627 NTOSAPI
sca8er 2:5853bf44af9f 3628 NTSTATUS
sca8er 2:5853bf44af9f 3629 NTAPI
sca8er 2:5853bf44af9f 3630 NtGetPlugPlayEvent(
sca8er 2:5853bf44af9f 3631 /*IN*/ ULONG Reserved1,
sca8er 2:5853bf44af9f 3632 /*IN*/ ULONG Reserved2,
sca8er 2:5853bf44af9f 3633 /*OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 3634 /*IN*/ ULONG BufferLength);
sca8er 2:5853bf44af9f 3635
sca8er 2:5853bf44af9f 3636 NTOSAPI
sca8er 2:5853bf44af9f 3637 NTSTATUS
sca8er 2:5853bf44af9f 3638 NTAPI
sca8er 2:5853bf44af9f 3639 ZwGetPlugPlayEvent(
sca8er 2:5853bf44af9f 3640 /*IN*/ ULONG Reserved1,
sca8er 2:5853bf44af9f 3641 /*IN*/ ULONG Reserved2,
sca8er 2:5853bf44af9f 3642 /*OUT*/ PVOID Buffer,
sca8er 2:5853bf44af9f 3643 /*IN*/ ULONG BufferLength);
sca8er 2:5853bf44af9f 3644
sca8er 2:5853bf44af9f 3645
sca8er 2:5853bf44af9f 3646
sca8er 2:5853bf44af9f 3647
sca8er 2:5853bf44af9f 3648 /* Miscellany */
sca8er 2:5853bf44af9f 3649
sca8er 2:5853bf44af9f 3650 NTOSAPI
sca8er 2:5853bf44af9f 3651 NTSTATUS
sca8er 2:5853bf44af9f 3652 NTAPI
sca8er 2:5853bf44af9f 3653 NtRaiseException(
sca8er 2:5853bf44af9f 3654 /*IN*/ PEXCEPTION_RECORD ExceptionRecord,
sca8er 2:5853bf44af9f 3655 /*IN*/ PCONTEXT Context,
sca8er 2:5853bf44af9f 3656 /*IN*/ BOOLEAN SearchFrames);
sca8er 2:5853bf44af9f 3657
sca8er 2:5853bf44af9f 3658 NTOSAPI
sca8er 2:5853bf44af9f 3659 NTSTATUS
sca8er 2:5853bf44af9f 3660 NTAPI
sca8er 2:5853bf44af9f 3661 ZwRaiseException(
sca8er 2:5853bf44af9f 3662 /*IN*/ PEXCEPTION_RECORD ExceptionRecord,
sca8er 2:5853bf44af9f 3663 /*IN*/ PCONTEXT Context,
sca8er 2:5853bf44af9f 3664 /*IN*/ BOOLEAN SearchFrames);
sca8er 2:5853bf44af9f 3665
sca8er 2:5853bf44af9f 3666 NTOSAPI
sca8er 2:5853bf44af9f 3667 NTSTATUS
sca8er 2:5853bf44af9f 3668 NTAPI
sca8er 2:5853bf44af9f 3669 NtContinue(
sca8er 2:5853bf44af9f 3670 /*IN*/ PCONTEXT Context,
sca8er 2:5853bf44af9f 3671 /*IN*/ BOOLEAN TestAlert);
sca8er 2:5853bf44af9f 3672
sca8er 2:5853bf44af9f 3673 NTOSAPI
sca8er 2:5853bf44af9f 3674 NTSTATUS
sca8er 2:5853bf44af9f 3675 NTAPI
sca8er 2:5853bf44af9f 3676 ZwContinue(
sca8er 2:5853bf44af9f 3677 /*IN*/ PCONTEXT Context,
sca8er 2:5853bf44af9f 3678 /*IN*/ BOOLEAN TestAlert);
sca8er 2:5853bf44af9f 3679
sca8er 2:5853bf44af9f 3680 NTOSAPI
sca8er 2:5853bf44af9f 3681 NTSTATUS
sca8er 2:5853bf44af9f 3682 NTAPI
sca8er 2:5853bf44af9f 3683 ZwW32Call(
sca8er 2:5853bf44af9f 3684 /*IN*/ ULONG RoutineIndex,
sca8er 2:5853bf44af9f 3685 /*IN*/ PVOID Argument,
sca8er 2:5853bf44af9f 3686 /*IN*/ ULONG ArgumentLength,
sca8er 2:5853bf44af9f 3687 /*OUT*/ PVOID *Result /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3688 /*OUT*/ PULONG ResultLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 3689
sca8er 2:5853bf44af9f 3690 NTOSAPI
sca8er 2:5853bf44af9f 3691 NTSTATUS
sca8er 2:5853bf44af9f 3692 NTAPI
sca8er 2:5853bf44af9f 3693 NtSetLowWaitHighThread(
sca8er 2:5853bf44af9f 3694 VOID);
sca8er 2:5853bf44af9f 3695
sca8er 2:5853bf44af9f 3696 NTOSAPI
sca8er 2:5853bf44af9f 3697 NTSTATUS
sca8er 2:5853bf44af9f 3698 NTAPI
sca8er 2:5853bf44af9f 3699 ZwSetLowWaitHighThread(
sca8er 2:5853bf44af9f 3700 VOID);
sca8er 2:5853bf44af9f 3701
sca8er 2:5853bf44af9f 3702 NTOSAPI
sca8er 2:5853bf44af9f 3703 NTSTATUS
sca8er 2:5853bf44af9f 3704 NTAPI
sca8er 2:5853bf44af9f 3705 NtSetHighWaitLowThread(
sca8er 2:5853bf44af9f 3706 VOID);
sca8er 2:5853bf44af9f 3707
sca8er 2:5853bf44af9f 3708 NTOSAPI
sca8er 2:5853bf44af9f 3709 NTSTATUS
sca8er 2:5853bf44af9f 3710 NTAPI
sca8er 2:5853bf44af9f 3711 ZwSetHighWaitLowThread(
sca8er 2:5853bf44af9f 3712 VOID);
sca8er 2:5853bf44af9f 3713
sca8er 2:5853bf44af9f 3714 NTOSAPI
sca8er 2:5853bf44af9f 3715 NTSTATUS
sca8er 2:5853bf44af9f 3716 NTAPI
sca8er 2:5853bf44af9f 3717 NtLoadDriver(
sca8er 2:5853bf44af9f 3718 /*IN*/ PUNICODE_STRING DriverServiceName);
sca8er 2:5853bf44af9f 3719
sca8er 2:5853bf44af9f 3720 NTOSAPI
sca8er 2:5853bf44af9f 3721 NTSTATUS
sca8er 2:5853bf44af9f 3722 NTAPI
sca8er 2:5853bf44af9f 3723 ZwLoadDriver(
sca8er 2:5853bf44af9f 3724 /*IN*/ PUNICODE_STRING DriverServiceName);
sca8er 2:5853bf44af9f 3725
sca8er 2:5853bf44af9f 3726 NTOSAPI
sca8er 2:5853bf44af9f 3727 NTSTATUS
sca8er 2:5853bf44af9f 3728 NTAPI
sca8er 2:5853bf44af9f 3729 NtUnloadDriver(
sca8er 2:5853bf44af9f 3730 /*IN*/ PUNICODE_STRING DriverServiceName);
sca8er 2:5853bf44af9f 3731
sca8er 2:5853bf44af9f 3732 NTOSAPI
sca8er 2:5853bf44af9f 3733 NTSTATUS
sca8er 2:5853bf44af9f 3734 NTAPI
sca8er 2:5853bf44af9f 3735 ZwUnloadDriver(
sca8er 2:5853bf44af9f 3736 /*IN*/ PUNICODE_STRING DriverServiceName);
sca8er 2:5853bf44af9f 3737
sca8er 2:5853bf44af9f 3738 NTOSAPI
sca8er 2:5853bf44af9f 3739 NTSTATUS
sca8er 2:5853bf44af9f 3740 NTAPI
sca8er 2:5853bf44af9f 3741 NtFlushInstructionCache(
sca8er 2:5853bf44af9f 3742 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 3743 /*IN*/ PVOID BaseAddress /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3744 /*IN*/ ULONG FlushSize);
sca8er 2:5853bf44af9f 3745
sca8er 2:5853bf44af9f 3746 NTOSAPI
sca8er 2:5853bf44af9f 3747 NTSTATUS
sca8er 2:5853bf44af9f 3748 NTAPI
sca8er 2:5853bf44af9f 3749 ZwFlushInstructionCache(
sca8er 2:5853bf44af9f 3750 /*IN*/ HANDLE ProcessHandle,
sca8er 2:5853bf44af9f 3751 /*IN*/ PVOID BaseAddress /*OPTIONAL*/,
sca8er 2:5853bf44af9f 3752 /*IN*/ ULONG FlushSize);
sca8er 2:5853bf44af9f 3753
sca8er 2:5853bf44af9f 3754 NTOSAPI
sca8er 2:5853bf44af9f 3755 NTSTATUS
sca8er 2:5853bf44af9f 3756 NTAPI
sca8er 2:5853bf44af9f 3757 NtFlushWriteBuffer(
sca8er 2:5853bf44af9f 3758 VOID);
sca8er 2:5853bf44af9f 3759
sca8er 2:5853bf44af9f 3760 NTOSAPI
sca8er 2:5853bf44af9f 3761 NTSTATUS
sca8er 2:5853bf44af9f 3762 NTAPI
sca8er 2:5853bf44af9f 3763 ZwFlushWriteBuffer(
sca8er 2:5853bf44af9f 3764 VOID);
sca8er 2:5853bf44af9f 3765
sca8er 2:5853bf44af9f 3766 NTOSAPI
sca8er 2:5853bf44af9f 3767 NTSTATUS
sca8er 2:5853bf44af9f 3768 NTAPI
sca8er 2:5853bf44af9f 3769 NtQueryDefaultLocale(
sca8er 2:5853bf44af9f 3770 /*IN*/ BOOLEAN ThreadOrSystem,
sca8er 2:5853bf44af9f 3771 /*OUT*/ PLCID Locale);
sca8er 2:5853bf44af9f 3772
sca8er 2:5853bf44af9f 3773 NTOSAPI
sca8er 2:5853bf44af9f 3774 NTSTATUS
sca8er 2:5853bf44af9f 3775 NTAPI
sca8er 2:5853bf44af9f 3776 ZwQueryDefaultLocale(
sca8er 2:5853bf44af9f 3777 /*IN*/ BOOLEAN ThreadOrSystem,
sca8er 2:5853bf44af9f 3778 /*OUT*/ PLCID Locale);
sca8er 2:5853bf44af9f 3779
sca8er 2:5853bf44af9f 3780 NTOSAPI
sca8er 2:5853bf44af9f 3781 NTSTATUS
sca8er 2:5853bf44af9f 3782 NTAPI
sca8er 2:5853bf44af9f 3783 NtSetDefaultLocale(
sca8er 2:5853bf44af9f 3784 /*IN*/ BOOLEAN ThreadOrSystem,
sca8er 2:5853bf44af9f 3785 /*IN*/ LCID Locale);
sca8er 2:5853bf44af9f 3786
sca8er 2:5853bf44af9f 3787 NTOSAPI
sca8er 2:5853bf44af9f 3788 NTSTATUS
sca8er 2:5853bf44af9f 3789 NTAPI
sca8er 2:5853bf44af9f 3790 ZwSetDefaultLocale(
sca8er 2:5853bf44af9f 3791 /*IN*/ BOOLEAN ThreadOrSystem,
sca8er 2:5853bf44af9f 3792 /*IN*/ LCID Locale);
sca8er 2:5853bf44af9f 3793
sca8er 2:5853bf44af9f 3794 NTOSAPI
sca8er 2:5853bf44af9f 3795 NTSTATUS
sca8er 2:5853bf44af9f 3796 NTAPI
sca8er 2:5853bf44af9f 3797 NtQueryDefaultUILanguage(
sca8er 2:5853bf44af9f 3798 /*OUT*/ PLANGID LanguageId);
sca8er 2:5853bf44af9f 3799
sca8er 2:5853bf44af9f 3800 NTOSAPI
sca8er 2:5853bf44af9f 3801 NTSTATUS
sca8er 2:5853bf44af9f 3802 NTAPI
sca8er 2:5853bf44af9f 3803 ZwQueryDefaultUILanguage(
sca8er 2:5853bf44af9f 3804 /*OUT*/ PLANGID LanguageId);
sca8er 2:5853bf44af9f 3805
sca8er 2:5853bf44af9f 3806 NTOSAPI
sca8er 2:5853bf44af9f 3807 NTSTATUS
sca8er 2:5853bf44af9f 3808 NTAPI
sca8er 2:5853bf44af9f 3809 NtSetDefaultUILanguage(
sca8er 2:5853bf44af9f 3810 /*IN*/ LANGID LanguageId);
sca8er 2:5853bf44af9f 3811
sca8er 2:5853bf44af9f 3812 NTOSAPI
sca8er 2:5853bf44af9f 3813 NTSTATUS
sca8er 2:5853bf44af9f 3814 NTAPI
sca8er 2:5853bf44af9f 3815 ZwSetDefaultUILanguage(
sca8er 2:5853bf44af9f 3816 /*IN*/ LANGID LanguageId);
sca8er 2:5853bf44af9f 3817
sca8er 2:5853bf44af9f 3818 NTOSAPI
sca8er 2:5853bf44af9f 3819 NTSTATUS
sca8er 2:5853bf44af9f 3820 NTAPI
sca8er 2:5853bf44af9f 3821 NtQueryInstallUILanguage(
sca8er 2:5853bf44af9f 3822 /*OUT*/ PLANGID LanguageId);
sca8er 2:5853bf44af9f 3823
sca8er 2:5853bf44af9f 3824 NTOSAPI
sca8er 2:5853bf44af9f 3825 NTSTATUS
sca8er 2:5853bf44af9f 3826 NTAPI
sca8er 2:5853bf44af9f 3827 ZwQueryInstallUILanguage(
sca8er 2:5853bf44af9f 3828 /*OUT*/ PLANGID LanguageId);
sca8er 2:5853bf44af9f 3829
sca8er 2:5853bf44af9f 3830 NTOSAPI
sca8er 2:5853bf44af9f 3831 NTSTATUS
sca8er 2:5853bf44af9f 3832 NTAPI
sca8er 2:5853bf44af9f 3833 NtAllocateLocallyUniqueId(
sca8er 2:5853bf44af9f 3834 /*OUT*/ PLUID Luid);
sca8er 2:5853bf44af9f 3835
sca8er 2:5853bf44af9f 3836 NTOSAPI
sca8er 2:5853bf44af9f 3837 NTSTATUS
sca8er 2:5853bf44af9f 3838 NTAPI
sca8er 2:5853bf44af9f 3839 NtAllocateUuids(
sca8er 2:5853bf44af9f 3840 /*OUT*/ PLARGE_INTEGER UuidLastTimeAllocated,
sca8er 2:5853bf44af9f 3841 /*OUT*/ PULONG UuidDeltaTime,
sca8er 2:5853bf44af9f 3842 /*OUT*/ PULONG UuidSequenceNumber,
sca8er 2:5853bf44af9f 3843 /*OUT*/ PUCHAR UuidSeed);
sca8er 2:5853bf44af9f 3844
sca8er 2:5853bf44af9f 3845 NTOSAPI
sca8er 2:5853bf44af9f 3846 NTSTATUS
sca8er 2:5853bf44af9f 3847 NTAPI
sca8er 2:5853bf44af9f 3848 ZwAllocateUuids(
sca8er 2:5853bf44af9f 3849 /*OUT*/ PLARGE_INTEGER UuidLastTimeAllocated,
sca8er 2:5853bf44af9f 3850 /*OUT*/ PULONG UuidDeltaTime,
sca8er 2:5853bf44af9f 3851 /*OUT*/ PULONG UuidSequenceNumber,
sca8er 2:5853bf44af9f 3852 /*OUT*/ PUCHAR UuidSeed);
sca8er 2:5853bf44af9f 3853
sca8er 2:5853bf44af9f 3854 NTOSAPI
sca8er 2:5853bf44af9f 3855 NTSTATUS
sca8er 2:5853bf44af9f 3856 NTAPI
sca8er 2:5853bf44af9f 3857 NtSetUuidSeed(
sca8er 2:5853bf44af9f 3858 /*IN*/ PUCHAR UuidSeed);
sca8er 2:5853bf44af9f 3859
sca8er 2:5853bf44af9f 3860 NTOSAPI
sca8er 2:5853bf44af9f 3861 NTSTATUS
sca8er 2:5853bf44af9f 3862 NTAPI
sca8er 2:5853bf44af9f 3863 ZwSetUuidSeed(
sca8er 2:5853bf44af9f 3864 /*IN*/ PUCHAR UuidSeed);
sca8er 2:5853bf44af9f 3865
sca8er 2:5853bf44af9f 3866 typedef enum _HARDERROR_RESPONSE_OPTION {
sca8er 2:5853bf44af9f 3867 OptionAbortRetryIgnore,
sca8er 2:5853bf44af9f 3868 OptionOk,
sca8er 2:5853bf44af9f 3869 OptionOkCancel,
sca8er 2:5853bf44af9f 3870 OptionRetryCancel,
sca8er 2:5853bf44af9f 3871 OptionYesNo,
sca8er 2:5853bf44af9f 3872 OptionYesNoCancel,
sca8er 2:5853bf44af9f 3873 OptionShutdownSystem
sca8er 2:5853bf44af9f 3874 } HARDERROR_RESPONSE_OPTION, *PHARDERROR_RESPONSE_OPTION;
sca8er 2:5853bf44af9f 3875
sca8er 2:5853bf44af9f 3876 typedef enum _HARDERROR_RESPONSE {
sca8er 2:5853bf44af9f 3877 ResponseReturnToCaller,
sca8er 2:5853bf44af9f 3878 ResponseNotHandled,
sca8er 2:5853bf44af9f 3879 ResponseAbort,
sca8er 2:5853bf44af9f 3880 ResponseCancel,
sca8er 2:5853bf44af9f 3881 ResponseIgnore,
sca8er 2:5853bf44af9f 3882 ResponseNo,
sca8er 2:5853bf44af9f 3883 ResponseOk,
sca8er 2:5853bf44af9f 3884 ResponseRetry,
sca8er 2:5853bf44af9f 3885 ResponseYes
sca8er 2:5853bf44af9f 3886 } HARDERROR_RESPONSE, *PHARDERROR_RESPONSE;
sca8er 2:5853bf44af9f 3887
sca8er 2:5853bf44af9f 3888 NTOSAPI
sca8er 2:5853bf44af9f 3889 NTSTATUS
sca8er 2:5853bf44af9f 3890 NTAPI
sca8er 2:5853bf44af9f 3891 NtRaiseHardError(
sca8er 2:5853bf44af9f 3892 /*IN*/ NTSTATUS Status,
sca8er 2:5853bf44af9f 3893 /*IN*/ ULONG NumberOfArguments,
sca8er 2:5853bf44af9f 3894 /*IN*/ ULONG StringArgumentsMask,
sca8er 2:5853bf44af9f 3895 /*IN*/ PULONG Arguments,
sca8er 2:5853bf44af9f 3896 /*IN*/ HARDERROR_RESPONSE_OPTION ResponseOption,
sca8er 2:5853bf44af9f 3897 /*OUT*/ PHARDERROR_RESPONSE Response);
sca8er 2:5853bf44af9f 3898
sca8er 2:5853bf44af9f 3899 NTOSAPI
sca8er 2:5853bf44af9f 3900 NTSTATUS
sca8er 2:5853bf44af9f 3901 NTAPI
sca8er 2:5853bf44af9f 3902 ZwRaiseHardError(
sca8er 2:5853bf44af9f 3903 /*IN*/ NTSTATUS Status,
sca8er 2:5853bf44af9f 3904 /*IN*/ ULONG NumberOfArguments,
sca8er 2:5853bf44af9f 3905 /*IN*/ ULONG StringArgumentsMask,
sca8er 2:5853bf44af9f 3906 /*IN*/ PULONG Arguments,
sca8er 2:5853bf44af9f 3907 /*IN*/ HARDERROR_RESPONSE_OPTION ResponseOption,
sca8er 2:5853bf44af9f 3908 /*OUT*/ PHARDERROR_RESPONSE Response);
sca8er 2:5853bf44af9f 3909
sca8er 2:5853bf44af9f 3910 NTOSAPI
sca8er 2:5853bf44af9f 3911 NTSTATUS
sca8er 2:5853bf44af9f 3912 NTAPI
sca8er 2:5853bf44af9f 3913 NtSetDefaultHardErrorPort(
sca8er 2:5853bf44af9f 3914 /*IN*/ HANDLE PortHandle);
sca8er 2:5853bf44af9f 3915
sca8er 2:5853bf44af9f 3916 NTOSAPI
sca8er 2:5853bf44af9f 3917 NTSTATUS
sca8er 2:5853bf44af9f 3918 NTAPI
sca8er 2:5853bf44af9f 3919 ZwSetDefaultHardErrorPort(
sca8er 2:5853bf44af9f 3920 /*IN*/ HANDLE PortHandle);
sca8er 2:5853bf44af9f 3921
sca8er 2:5853bf44af9f 3922 NTOSAPI
sca8er 2:5853bf44af9f 3923 NTSTATUS
sca8er 2:5853bf44af9f 3924 NTAPI
sca8er 2:5853bf44af9f 3925 NtDisplayString(
sca8er 2:5853bf44af9f 3926 /*IN*/ PUNICODE_STRING String);
sca8er 2:5853bf44af9f 3927
sca8er 2:5853bf44af9f 3928 NTOSAPI
sca8er 2:5853bf44af9f 3929 NTSTATUS
sca8er 2:5853bf44af9f 3930 NTAPI
sca8er 2:5853bf44af9f 3931 ZwDisplayString(
sca8er 2:5853bf44af9f 3932 /*IN*/ PUNICODE_STRING String);
sca8er 2:5853bf44af9f 3933
sca8er 2:5853bf44af9f 3934 NTOSAPI
sca8er 2:5853bf44af9f 3935 NTSTATUS
sca8er 2:5853bf44af9f 3936 NTAPI
sca8er 2:5853bf44af9f 3937 NtCreatePagingFile(
sca8er 2:5853bf44af9f 3938 /*IN*/ PUNICODE_STRING FileName,
sca8er 2:5853bf44af9f 3939 /*IN*/ PULARGE_INTEGER InitialSize,
sca8er 2:5853bf44af9f 3940 /*IN*/ PULARGE_INTEGER MaximumSize,
sca8er 2:5853bf44af9f 3941 /*IN*/ ULONG Reserved);
sca8er 2:5853bf44af9f 3942
sca8er 2:5853bf44af9f 3943 NTOSAPI
sca8er 2:5853bf44af9f 3944 NTSTATUS
sca8er 2:5853bf44af9f 3945 NTAPI
sca8er 2:5853bf44af9f 3946 ZwCreatePagingFile(
sca8er 2:5853bf44af9f 3947 /*IN*/ PUNICODE_STRING FileName,
sca8er 2:5853bf44af9f 3948 /*IN*/ PULARGE_INTEGER InitialSize,
sca8er 2:5853bf44af9f 3949 /*IN*/ PULARGE_INTEGER MaximumSize,
sca8er 2:5853bf44af9f 3950 /*IN*/ ULONG Reserved);
sca8er 2:5853bf44af9f 3951
sca8er 2:5853bf44af9f 3952 typedef USHORT RTL_ATOM, *PRTL_ATOM;
sca8er 2:5853bf44af9f 3953
sca8er 2:5853bf44af9f 3954 NTOSAPI
sca8er 2:5853bf44af9f 3955 NTSTATUS
sca8er 2:5853bf44af9f 3956 NTAPI
sca8er 2:5853bf44af9f 3957 NtAddAtom(
sca8er 2:5853bf44af9f 3958 /*IN*/ PWSTR AtomName,
sca8er 2:5853bf44af9f 3959 /*IN*/ ULONG AtomNameLength,
sca8er 2:5853bf44af9f 3960 /*OUT*/ PRTL_ATOM Atom);
sca8er 2:5853bf44af9f 3961
sca8er 2:5853bf44af9f 3962 NTOSAPI
sca8er 2:5853bf44af9f 3963 NTSTATUS
sca8er 2:5853bf44af9f 3964 NTAPI
sca8er 2:5853bf44af9f 3965 ZwAddAtom(
sca8er 2:5853bf44af9f 3966 /*IN*/ PWSTR AtomName,
sca8er 2:5853bf44af9f 3967 /*IN*/ ULONG AtomNameLength,
sca8er 2:5853bf44af9f 3968 /*OUT*/ PRTL_ATOM Atom);
sca8er 2:5853bf44af9f 3969
sca8er 2:5853bf44af9f 3970 NTOSAPI
sca8er 2:5853bf44af9f 3971 NTSTATUS
sca8er 2:5853bf44af9f 3972 NTAPI
sca8er 2:5853bf44af9f 3973 NtFindAtom(
sca8er 2:5853bf44af9f 3974 /*IN*/ PWSTR AtomName,
sca8er 2:5853bf44af9f 3975 /*IN*/ ULONG AtomNameLength,
sca8er 2:5853bf44af9f 3976 /*OUT*/ PRTL_ATOM Atom);
sca8er 2:5853bf44af9f 3977
sca8er 2:5853bf44af9f 3978 NTOSAPI
sca8er 2:5853bf44af9f 3979 NTSTATUS
sca8er 2:5853bf44af9f 3980 NTAPI
sca8er 2:5853bf44af9f 3981 ZwFindAtom(
sca8er 2:5853bf44af9f 3982 /*IN*/ PWSTR AtomName,
sca8er 2:5853bf44af9f 3983 /*IN*/ ULONG AtomNameLength,
sca8er 2:5853bf44af9f 3984 /*OUT*/ PRTL_ATOM Atom);
sca8er 2:5853bf44af9f 3985
sca8er 2:5853bf44af9f 3986 NTOSAPI
sca8er 2:5853bf44af9f 3987 NTSTATUS
sca8er 2:5853bf44af9f 3988 NTAPI
sca8er 2:5853bf44af9f 3989 NtDeleteAtom(
sca8er 2:5853bf44af9f 3990 /*IN*/ RTL_ATOM Atom);
sca8er 2:5853bf44af9f 3991
sca8er 2:5853bf44af9f 3992 NTOSAPI
sca8er 2:5853bf44af9f 3993 NTSTATUS
sca8er 2:5853bf44af9f 3994 NTAPI
sca8er 2:5853bf44af9f 3995 ZwDeleteAtom(
sca8er 2:5853bf44af9f 3996 /*IN*/ RTL_ATOM Atom);
sca8er 2:5853bf44af9f 3997
sca8er 2:5853bf44af9f 3998 typedef enum _ATOM_INFORMATION_CLASS {
sca8er 2:5853bf44af9f 3999 AtomBasicInformation,
sca8er 2:5853bf44af9f 4000 AtomListInformation
sca8er 2:5853bf44af9f 4001 } ATOM_INFORMATION_CLASS;
sca8er 2:5853bf44af9f 4002
sca8er 2:5853bf44af9f 4003 NTOSAPI
sca8er 2:5853bf44af9f 4004 NTSTATUS
sca8er 2:5853bf44af9f 4005 NTAPI
sca8er 2:5853bf44af9f 4006 NtQueryInformationAtom(
sca8er 2:5853bf44af9f 4007 /*IN*/ RTL_ATOM Atom,
sca8er 2:5853bf44af9f 4008 /*IN*/ ATOM_INFORMATION_CLASS AtomInformationClass,
sca8er 2:5853bf44af9f 4009 /*OUT*/ PVOID AtomInformation,
sca8er 2:5853bf44af9f 4010 /*IN*/ ULONG AtomInformationLength,
sca8er 2:5853bf44af9f 4011 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 4012
sca8er 2:5853bf44af9f 4013 NTOSAPI
sca8er 2:5853bf44af9f 4014 NTSTATUS
sca8er 2:5853bf44af9f 4015 NTAPI
sca8er 2:5853bf44af9f 4016 ZwQueryInformationAtom(
sca8er 2:5853bf44af9f 4017 /*IN*/ RTL_ATOM Atom,
sca8er 2:5853bf44af9f 4018 /*IN*/ ATOM_INFORMATION_CLASS AtomInformationClass,
sca8er 2:5853bf44af9f 4019 /*OUT*/ PVOID AtomInformation,
sca8er 2:5853bf44af9f 4020 /*IN*/ ULONG AtomInformationLength,
sca8er 2:5853bf44af9f 4021 /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);
sca8er 2:5853bf44af9f 4022
sca8er 2:5853bf44af9f 4023 typedef struct _ATOM_BASIC_INFORMATION {
sca8er 2:5853bf44af9f 4024 USHORT ReferenceCount;
sca8er 2:5853bf44af9f 4025 USHORT Pinned;
sca8er 2:5853bf44af9f 4026 USHORT NameLength;
sca8er 2:5853bf44af9f 4027 WCHAR Name[1];
sca8er 2:5853bf44af9f 4028 } ATOM_BASIC_INFORMATION, *PATOM_BASIC_INFORMATION;
sca8er 2:5853bf44af9f 4029
sca8er 2:5853bf44af9f 4030 typedef struct _ATOM_LIST_INFORMATION {
sca8er 2:5853bf44af9f 4031 ULONG NumberOfAtoms;
sca8er 2:5853bf44af9f 4032 ATOM Atoms[1];
sca8er 2:5853bf44af9f 4033 } ATOM_LIST_INFORMATION, *PATOM_LIST_INFORMATION;
sca8er 2:5853bf44af9f 4034
sca8er 2:5853bf44af9f 4035 NTOSAPI
sca8er 2:5853bf44af9f 4036 NTSTATUS
sca8er 2:5853bf44af9f 4037 NTAPI
sca8er 2:5853bf44af9f 4038 NtSetLdtEntries(
sca8er 2:5853bf44af9f 4039 /*IN*/ ULONG Selector1,
sca8er 2:5853bf44af9f 4040 /*IN*/ LDT_ENTRY LdtEntry1,
sca8er 2:5853bf44af9f 4041 /*IN*/ ULONG Selector2,
sca8er 2:5853bf44af9f 4042 /*IN*/ LDT_ENTRY LdtEntry2);
sca8er 2:5853bf44af9f 4043
sca8er 2:5853bf44af9f 4044 NTOSAPI
sca8er 2:5853bf44af9f 4045 NTSTATUS
sca8er 2:5853bf44af9f 4046 NTAPI
sca8er 2:5853bf44af9f 4047 ZwSetLdtEntries(
sca8er 2:5853bf44af9f 4048 /*IN*/ ULONG Selector1,
sca8er 2:5853bf44af9f 4049 /*IN*/ LDT_ENTRY LdtEntry1,
sca8er 2:5853bf44af9f 4050 /*IN*/ ULONG Selector2,
sca8er 2:5853bf44af9f 4051 /*IN*/ LDT_ENTRY LdtEntry2);
sca8er 2:5853bf44af9f 4052
sca8er 2:5853bf44af9f 4053 NTOSAPI
sca8er 2:5853bf44af9f 4054 NTSTATUS
sca8er 2:5853bf44af9f 4055 NTAPI
sca8er 2:5853bf44af9f 4056 NtVdmControl(
sca8er 2:5853bf44af9f 4057 /*IN*/ ULONG ControlCode,
sca8er 2:5853bf44af9f 4058 /*IN*/ PVOID ControlData);
sca8er 2:5853bf44af9f 4059
sca8er 2:5853bf44af9f 4060 NTOSAPI
sca8er 2:5853bf44af9f 4061 NTSTATUS
sca8er 2:5853bf44af9f 4062 NTAPI
sca8er 2:5853bf44af9f 4063 ZwVdmControl(
sca8er 2:5853bf44af9f 4064 /*IN*/ ULONG ControlCode,
sca8er 2:5853bf44af9f 4065 /*IN*/ PVOID ControlData);
sca8er 2:5853bf44af9f 4066
sca8er 2:5853bf44af9f 4067 #pragma pack(pop)
sca8er 2:5853bf44af9f 4068
sca8er 2:5853bf44af9f 4069 #ifdef __cplusplus
sca8er 2:5853bf44af9f 4070 }
sca8er 2:5853bf44af9f 4071 #endif
sca8er 2:5853bf44af9f 4072
sca8er 2:5853bf44af9f 4073 #endif /* __NTAPI_H */