2 * 32-bit version of ntdll structures
4 * Copyright 2021 Alexandre Julliard
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #ifndef __WOW64_STRUCT32_H
22 #define __WOW64_STRUCT32_H
30 ULONG SecurityDescriptor
;
31 ULONG SecurityQualityOfService
;
32 } OBJECT_ATTRIBUTES32
;
46 UNICODE_STRING32 Name
;
47 } OBJECT_NAME_INFORMATION32
;
51 UNICODE_STRING32 TypeName
;
52 ULONG TotalNumberOfObjects
;
53 ULONG TotalNumberOfHandles
;
54 ULONG TotalPagedPoolUsage
;
55 ULONG TotalNonPagedPoolUsage
;
56 ULONG TotalNamePoolUsage
;
57 ULONG TotalHandleTableUsage
;
58 ULONG HighWaterNumberOfObjects
;
59 ULONG HighWaterNumberOfHandles
;
60 ULONG HighWaterPagedPoolUsage
;
61 ULONG HighWaterNonPagedPoolUsage
;
62 ULONG HighWaterNamePoolUsage
;
63 ULONG HighWaterHandleTableUsage
;
64 ULONG InvalidAttributes
;
65 GENERIC_MAPPING GenericMapping
;
66 ULONG ValidAccessMask
;
67 BOOLEAN SecurityRequired
;
68 BOOLEAN MaintainHandleCount
;
72 ULONG DefaultPagedPoolCharge
;
73 ULONG DefaultNonPagedPoolCharge
;
74 } OBJECT_TYPE_INFORMATION32
;
78 UNICODE_STRING32 ObjectName
;
79 UNICODE_STRING32 ObjectTypeName
;
80 } DIRECTORY_BASIC_INFORMATION32
;
86 } FILE_COMPLETION_INFORMATION32
;
91 ULONG CompletionValue
;
92 IO_STATUS_BLOCK32 IoStatusBlock
;
93 } FILE_IO_COMPLETION_INFORMATION32
;
97 BOOLEAN ReplaceIfExists
;
101 } FILE_RENAME_INFORMATION32
;
112 DWORD NumberOfAssignedProcesses
;
113 DWORD NumberOfProcessIdsInList
;
114 ULONG ProcessIdList
[1];
115 } JOBOBJECT_BASIC_PROCESS_ID_LIST32
;
119 LARGE_INTEGER PerProcessUserTimeLimit
;
120 LARGE_INTEGER PerJobUserTimeLimit
;
122 ULONG MinimumWorkingSetSize
;
123 ULONG MaximumWorkingSetSize
;
124 DWORD ActiveProcessLimit
;
127 DWORD SchedulingClass
;
128 } JOBOBJECT_BASIC_LIMIT_INFORMATION32
;
132 JOBOBJECT_BASIC_LIMIT_INFORMATION32 BasicLimitInformation
;
134 ULONG ProcessMemoryLimit
;
135 ULONG JobMemoryLimit
;
136 ULONG PeakProcessMemoryUsed
;
137 ULONG PeakJobMemoryUsed
;
138 } JOBOBJECT_EXTENDED_LIMIT_INFORMATION32
;
144 } JOBOBJECT_ASSOCIATE_COMPLETION_PORT32
;
149 ULONG AllocationBase
;
150 DWORD AllocationProtect
;
155 } MEMORY_BASIC_INFORMATION32
;
159 ULONG AllocationBase
;
160 ULONG AllocationProtect
;
165 ULONG NodePreference
;
166 } MEMORY_REGION_INFORMATION32
;
170 UNICODE_STRING32 SectionFileName
;
171 } MEMORY_SECTION_NAME32
;
178 ULONG ShareCount
: 3;
179 ULONG Win32Protection
: 11;
185 } MEMORY_WORKING_SET_EX_BLOCK32
;
189 ULONG VirtualAddress
;
190 MEMORY_WORKING_SET_EX_BLOCK32 VirtualAttributes
;
191 } MEMORY_WORKING_SET_EX_INFORMATION32
;
202 ULONG ImagePartialMap
: 1;
203 ULONG ImageNotExecutable
: 1;
204 ULONG ImageSigningLevel
: 4;
208 } MEMORY_IMAGE_INFORMATION32
;
213 ULONG PebBaseAddress
;
216 ULONG UniqueProcessId
;
217 ULONG InheritedFromUniqueProcessId
;
218 } PROCESS_BASIC_INFORMATION32
;
225 } PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION32
;
232 } PROCESS_STACK_ALLOCATION_INFORMATION32
;
240 PROCESS_STACK_ALLOCATION_INFORMATION32 AllocInfo
;
241 } PROCESS_STACK_ALLOCATION_INFORMATION_EX32
;
246 PS_CREATE_STATE State
;
252 ACCESS_MASK AdditionalFileAccess
;
260 USHORT DllCharacteristics
;
271 ULONGLONG UserProcessParametersNative
;
272 ULONG UserProcessParametersWow64
;
273 ULONG CurrentParameterFlags
;
274 ULONGLONG PebAddressNative
;
275 ULONG PebAddressWow64
;
276 ULONGLONG ManifestAddress
;
293 PS_ATTRIBUTE32 Attributes
[1];
294 } PS_ATTRIBUTE_LIST32
;
299 ULONG MappedBaseAddress
;
300 ULONG ImageBaseAddress
;
303 USHORT LoadOrderIndex
;
304 USHORT InitOrderIndex
;
307 BYTE Name
[MAXIMUM_FILENAME_LENGTH
];
308 } RTL_PROCESS_MODULE_INFORMATION32
;
313 RTL_PROCESS_MODULE_INFORMATION32 Modules
[1];
314 } RTL_PROCESS_MODULES32
;
319 RTL_PROCESS_MODULE_INFORMATION32 BaseInfo
;
323 } RTL_PROCESS_MODULE_INFORMATION_EX32
;
330 } SECTION_BASIC_INFORMATION32
;
334 ULONG TransferAddress
;
336 ULONG MaximumStackSize
;
337 ULONG CommittedStackSize
;
339 USHORT MinorSubsystemVersion
;
340 USHORT MajorSubsystemVersion
;
341 USHORT MajorOperatingSystemVersion
;
342 USHORT MinorOperatingSystemVersion
;
343 USHORT ImageCharacteristics
;
344 USHORT DllCharacteristics
;
346 BOOLEAN ImageContainsCode
;
351 } SECTION_IMAGE_INFORMATION32
;
357 } SID_AND_ATTRIBUTES32
;
362 } TOKEN_DEFAULT_DACL32
;
367 SID_AND_ATTRIBUTES32 Groups
[1];
377 SID_AND_ATTRIBUTES32 User
;
383 ULONG TebBaseAddress
;
384 CLIENT_ID32 ClientId
;
388 } THREAD_BASIC_INFORMATION32
;
392 UNICODE_STRING32 ThreadName
;
393 } THREAD_NAME_INFORMATION32
;
397 ULONG PeakVirtualSize
;
399 ULONG PageFaultCount
;
400 ULONG PeakWorkingSetSize
;
401 ULONG WorkingSetSize
;
402 ULONG QuotaPeakPagedPoolUsage
;
403 ULONG QuotaPagedPoolUsage
;
404 ULONG QuotaPeakNonPagedPoolUsage
;
405 ULONG QuotaNonPagedPoolUsage
;
407 ULONG PeakPagefileUsage
;
412 ULONG PeakVirtualSize
;
414 ULONG PageFaultCount
;
415 ULONG PeakWorkingSetSize
;
416 ULONG WorkingSetSize
;
417 ULONG QuotaPeakPagedPoolUsage
;
418 ULONG QuotaPagedPoolUsage
;
419 ULONG QuotaPeakNonPagedPoolUsage
;
420 ULONG QuotaNonPagedPoolUsage
;
422 ULONG PeakPagefileUsage
;
429 CLIENT_ID32 AppClientId
;
434 EXCEPTION_RECORD32 ExceptionRecord
;
439 ULONG HandleToThread
;
448 ULONG HandleToProcess
;
449 ULONG HandleToThread
;
455 ULONG DebugInfoFileOffset
;
467 } ExitProcess
, ExitThread
;
472 ULONG DebugInfoFileOffset
;
481 } DBGUI_WAIT_STATE_CHANGE32
;
486 ULONG KeMaximumIncrement
;
488 ULONG MmNumberOfPhysicalPages
;
489 ULONG MmLowestPhysicalPage
;
490 ULONG MmHighestPhysicalPage
;
491 ULONG AllocationGranularity
;
492 ULONG LowestUserAddress
;
493 ULONG HighestUserAddress
;
494 ULONG ActiveProcessorsAffinityMask
;
495 BYTE NumberOfProcessors
;
496 } SYSTEM_BASIC_INFORMATION32
;
502 ULONG PageFaultCount
;
503 ULONG MinimumWorkingSet
;
504 ULONG MaximumWorkingSet
;
505 ULONG CurrentSizeIncludingTransitionInPages
;
506 ULONG PeakSizeIncludingTransitionInPages
;
507 ULONG TransitionRePurposeCount
;
509 } SYSTEM_CACHE_INFORMATION32
;
519 } SYSTEM_HANDLE_ENTRY32
;
524 SYSTEM_HANDLE_ENTRY32 Handle
[1];
525 } SYSTEM_HANDLE_INFORMATION32
;
529 ULONG RegistryQuotaAllowed
;
530 ULONG RegistryQuotaUsed
;
532 } SYSTEM_REGISTRY_QUOTA_INFORMATION32
;
537 ULONG UniqueProcessId
;
540 USHORT CreatorBackTraceIndex
;
541 USHORT ObjectTypeIndex
;
542 ULONG HandleAttributes
;
544 } SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX32
;
548 ULONG NumberOfHandles
;
550 SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX32 Handles
[1];
551 } SYSTEM_HANDLE_INFORMATION_EX32
;
556 LOGICAL_PROCESSOR_RELATIONSHIP Relationship
;
567 CACHE_DESCRIPTOR Cache
;
568 ULONGLONG Reserved
[2];
570 } SYSTEM_LOGICAL_PROCESSOR_INFORMATION32
;
575 BYTE EfficiencyClass
;
578 GROUP_AFFINITY32 GroupMask
[ANYSIZE_ARRAY
];
579 } PROCESSOR_RELATIONSHIP32
;
585 GROUP_AFFINITY32 GroupMask
;
586 } NUMA_NODE_RELATIONSHIP32
;
594 PROCESSOR_CACHE_TYPE Type
;
596 GROUP_AFFINITY32 GroupMask
;
597 } CACHE_RELATIONSHIP32
;
601 BYTE MaximumProcessorCount
;
602 BYTE ActiveProcessorCount
;
604 ULONG ActiveProcessorMask
;
605 } PROCESSOR_GROUP_INFO32
;
609 WORD MaximumGroupCount
;
610 WORD ActiveGroupCount
;
612 PROCESSOR_GROUP_INFO32 GroupInfo
[ANYSIZE_ARRAY
];
613 } GROUP_RELATIONSHIP32
;
617 LOGICAL_PROCESSOR_RELATIONSHIP Relationship
;
621 PROCESSOR_RELATIONSHIP32 Processor
;
622 NUMA_NODE_RELATIONSHIP32 NumaNode
;
623 CACHE_RELATIONSHIP32 Cache
;
624 GROUP_RELATIONSHIP32 Group
;
626 } SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX32
;
630 LARGE_INTEGER KernelTime
;
631 LARGE_INTEGER UserTime
;
632 LARGE_INTEGER CreateTime
;
635 CLIENT_ID32 ClientId
;
636 DWORD dwCurrentPriority
;
637 DWORD dwBasePriority
;
638 DWORD dwContextSwitches
;
642 } SYSTEM_THREAD_INFORMATION32
;
646 ULONG NextEntryOffset
;
648 LARGE_INTEGER WorkingSetPrivateSize
;
649 ULONG HardFaultCount
;
650 ULONG NumberOfThreadsHighWatermark
;
652 LARGE_INTEGER CreationTime
;
653 LARGE_INTEGER UserTime
;
654 LARGE_INTEGER KernelTime
;
655 UNICODE_STRING32 ProcessName
;
656 DWORD dwBasePriority
;
657 ULONG UniqueProcessId
;
658 ULONG ParentProcessId
;
661 ULONG UniqueProcessKey
;
662 VM_COUNTERS_EX32 vmCounters
;
663 IO_COUNTERS ioCounters
;
664 SYSTEM_THREAD_INFORMATION32 ti
[1];
665 } SYSTEM_PROCESS_INFORMATION32
;
669 SYSTEM_THREAD_INFORMATION32 ThreadInfo
;
672 ULONG Win32StartAddress
;
677 } SYSTEM_EXTENDED_THREAD_INFORMATION32
;
681 ULONG VirtualAddress
;
683 } MEMORY_RANGE_ENTRY32
;
687 ULONG LowestStartingAddress
;
688 ULONG HighestEndingAddress
;
690 } MEM_ADDRESS_REQUIREMENTS32
;
692 typedef struct DECLSPEC_ALIGN(8)
696 DWORD64 Type
: MEM_EXTENDED_PARAMETER_TYPE_BITS
;
697 DWORD64 Reserved
: 64 - MEM_EXTENDED_PARAMETER_TYPE_BITS
;
707 } MEM_EXTENDED_PARAMETER32
;
709 #endif /* __WOW64_STRUCT32_H */