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
;
196 ULONG PebBaseAddress
;
199 ULONG UniqueProcessId
;
200 ULONG InheritedFromUniqueProcessId
;
201 } PROCESS_BASIC_INFORMATION32
;
208 } PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION32
;
215 } PROCESS_STACK_ALLOCATION_INFORMATION32
;
223 PROCESS_STACK_ALLOCATION_INFORMATION32 AllocInfo
;
224 } PROCESS_STACK_ALLOCATION_INFORMATION_EX32
;
229 PS_CREATE_STATE State
;
235 ACCESS_MASK AdditionalFileAccess
;
243 USHORT DllCharacteristics
;
254 ULONGLONG UserProcessParametersNative
;
255 ULONG UserProcessParametersWow64
;
256 ULONG CurrentParameterFlags
;
257 ULONGLONG PebAddressNative
;
258 ULONG PebAddressWow64
;
259 ULONGLONG ManifestAddress
;
276 PS_ATTRIBUTE32 Attributes
[1];
277 } PS_ATTRIBUTE_LIST32
;
282 ULONG MappedBaseAddress
;
283 ULONG ImageBaseAddress
;
286 USHORT LoadOrderIndex
;
287 USHORT InitOrderIndex
;
290 BYTE Name
[MAXIMUM_FILENAME_LENGTH
];
291 } RTL_PROCESS_MODULE_INFORMATION32
;
296 RTL_PROCESS_MODULE_INFORMATION32 Modules
[1];
297 } RTL_PROCESS_MODULES32
;
302 RTL_PROCESS_MODULE_INFORMATION32 BaseInfo
;
306 } RTL_PROCESS_MODULE_INFORMATION_EX32
;
313 } SECTION_BASIC_INFORMATION32
;
317 ULONG TransferAddress
;
319 ULONG MaximumStackSize
;
320 ULONG CommittedStackSize
;
322 USHORT MinorSubsystemVersion
;
323 USHORT MajorSubsystemVersion
;
324 USHORT MajorOperatingSystemVersion
;
325 USHORT MinorOperatingSystemVersion
;
326 USHORT ImageCharacteristics
;
327 USHORT DllCharacteristics
;
329 BOOLEAN ImageContainsCode
;
334 } SECTION_IMAGE_INFORMATION32
;
340 } SID_AND_ATTRIBUTES32
;
345 } TOKEN_DEFAULT_DACL32
;
350 SID_AND_ATTRIBUTES32 Groups
[1];
360 SID_AND_ATTRIBUTES32 User
;
366 ULONG TebBaseAddress
;
367 CLIENT_ID32 ClientId
;
371 } THREAD_BASIC_INFORMATION32
;
375 UNICODE_STRING32 ThreadName
;
376 } THREAD_NAME_INFORMATION32
;
380 ULONG PeakVirtualSize
;
382 ULONG PageFaultCount
;
383 ULONG PeakWorkingSetSize
;
384 ULONG WorkingSetSize
;
385 ULONG QuotaPeakPagedPoolUsage
;
386 ULONG QuotaPagedPoolUsage
;
387 ULONG QuotaPeakNonPagedPoolUsage
;
388 ULONG QuotaNonPagedPoolUsage
;
390 ULONG PeakPagefileUsage
;
395 ULONG PeakVirtualSize
;
397 ULONG PageFaultCount
;
398 ULONG PeakWorkingSetSize
;
399 ULONG WorkingSetSize
;
400 ULONG QuotaPeakPagedPoolUsage
;
401 ULONG QuotaPagedPoolUsage
;
402 ULONG QuotaPeakNonPagedPoolUsage
;
403 ULONG QuotaNonPagedPoolUsage
;
405 ULONG PeakPagefileUsage
;
412 CLIENT_ID32 AppClientId
;
417 EXCEPTION_RECORD32 ExceptionRecord
;
422 ULONG HandleToThread
;
431 ULONG HandleToProcess
;
432 ULONG HandleToThread
;
438 ULONG DebugInfoFileOffset
;
450 } ExitProcess
, ExitThread
;
455 ULONG DebugInfoFileOffset
;
464 } DBGUI_WAIT_STATE_CHANGE32
;
469 ULONG KeMaximumIncrement
;
471 ULONG MmNumberOfPhysicalPages
;
472 ULONG MmLowestPhysicalPage
;
473 ULONG MmHighestPhysicalPage
;
474 ULONG AllocationGranularity
;
475 ULONG LowestUserAddress
;
476 ULONG HighestUserAddress
;
477 ULONG ActiveProcessorsAffinityMask
;
478 BYTE NumberOfProcessors
;
479 } SYSTEM_BASIC_INFORMATION32
;
485 ULONG PageFaultCount
;
486 ULONG MinimumWorkingSet
;
487 ULONG MaximumWorkingSet
;
488 ULONG CurrentSizeIncludingTransitionInPages
;
489 ULONG PeakSizeIncludingTransitionInPages
;
490 ULONG TransitionRePurposeCount
;
492 } SYSTEM_CACHE_INFORMATION32
;
502 } SYSTEM_HANDLE_ENTRY32
;
507 SYSTEM_HANDLE_ENTRY32 Handle
[1];
508 } SYSTEM_HANDLE_INFORMATION32
;
512 ULONG RegistryQuotaAllowed
;
513 ULONG RegistryQuotaUsed
;
515 } SYSTEM_REGISTRY_QUOTA_INFORMATION32
;
520 ULONG UniqueProcessId
;
523 USHORT CreatorBackTraceIndex
;
524 USHORT ObjectTypeIndex
;
525 ULONG HandleAttributes
;
527 } SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX32
;
531 ULONG NumberOfHandles
;
533 SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX32 Handles
[1];
534 } SYSTEM_HANDLE_INFORMATION_EX32
;
539 LOGICAL_PROCESSOR_RELATIONSHIP Relationship
;
550 CACHE_DESCRIPTOR Cache
;
551 ULONGLONG Reserved
[2];
553 } SYSTEM_LOGICAL_PROCESSOR_INFORMATION32
;
558 BYTE EfficiencyClass
;
561 GROUP_AFFINITY32 GroupMask
[ANYSIZE_ARRAY
];
562 } PROCESSOR_RELATIONSHIP32
;
568 GROUP_AFFINITY32 GroupMask
;
569 } NUMA_NODE_RELATIONSHIP32
;
577 PROCESSOR_CACHE_TYPE Type
;
579 GROUP_AFFINITY32 GroupMask
;
580 } CACHE_RELATIONSHIP32
;
584 BYTE MaximumProcessorCount
;
585 BYTE ActiveProcessorCount
;
587 ULONG ActiveProcessorMask
;
588 } PROCESSOR_GROUP_INFO32
;
592 WORD MaximumGroupCount
;
593 WORD ActiveGroupCount
;
595 PROCESSOR_GROUP_INFO32 GroupInfo
[ANYSIZE_ARRAY
];
596 } GROUP_RELATIONSHIP32
;
600 LOGICAL_PROCESSOR_RELATIONSHIP Relationship
;
604 PROCESSOR_RELATIONSHIP32 Processor
;
605 NUMA_NODE_RELATIONSHIP32 NumaNode
;
606 CACHE_RELATIONSHIP32 Cache
;
607 GROUP_RELATIONSHIP32 Group
;
609 } SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX32
;
613 LARGE_INTEGER KernelTime
;
614 LARGE_INTEGER UserTime
;
615 LARGE_INTEGER CreateTime
;
618 CLIENT_ID32 ClientId
;
619 DWORD dwCurrentPriority
;
620 DWORD dwBasePriority
;
621 DWORD dwContextSwitches
;
625 } SYSTEM_THREAD_INFORMATION32
;
629 ULONG NextEntryOffset
;
631 LARGE_INTEGER WorkingSetPrivateSize
;
632 ULONG HardFaultCount
;
633 ULONG NumberOfThreadsHighWatermark
;
635 LARGE_INTEGER CreationTime
;
636 LARGE_INTEGER UserTime
;
637 LARGE_INTEGER KernelTime
;
638 UNICODE_STRING32 ProcessName
;
639 DWORD dwBasePriority
;
640 ULONG UniqueProcessId
;
641 ULONG ParentProcessId
;
644 ULONG UniqueProcessKey
;
645 VM_COUNTERS_EX32 vmCounters
;
646 IO_COUNTERS ioCounters
;
647 SYSTEM_THREAD_INFORMATION32 ti
[1];
648 } SYSTEM_PROCESS_INFORMATION32
;
652 SYSTEM_THREAD_INFORMATION32 ThreadInfo
;
655 ULONG Win32StartAddress
;
660 } SYSTEM_EXTENDED_THREAD_INFORMATION32
;
664 ULONG VirtualAddress
;
666 } MEMORY_RANGE_ENTRY32
;
670 ULONG LowestStartingAddress
;
671 ULONG HighestEndingAddress
;
673 } MEM_ADDRESS_REQUIREMENTS32
;
675 #endif /* __WOW64_STRUCT32_H */