Skip to content

Commit a24e303

Browse files
committed
size & align fix
1 parent e2b87dd commit a24e303

File tree

3 files changed

+117
-108
lines changed

3 files changed

+117
-108
lines changed

tests/layout_aarch64.rs

Lines changed: 39 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ fn ntexapi() {
468468
assert_eq!(align_of::<SYSDBG_LIVEDUMP_CONTROL_ADDPAGES>(), 4);
469469
assert_eq!(size_of::<SYSDBG_LIVEDUMP_CONTROL>(), 64);
470470
assert_eq!(align_of::<SYSDBG_LIVEDUMP_CONTROL>(), 8);
471-
assert_eq!(size_of::<KUSER_SHARED_DATA>(), 1800);
471+
assert_eq!(size_of::<KUSER_SHARED_DATA>(), 1824);
472472
assert_eq!(align_of::<KUSER_SHARED_DATA>(), 4);
473473
assert_eq!(FIELD_OFFSET!(KUSER_SHARED_DATA, TickCountLowDeprecated), 0);
474474
assert_eq!(FIELD_OFFSET!(KUSER_SHARED_DATA, TickCountMultiplier), 4);
@@ -1018,7 +1018,7 @@ fn ntpebteb() {
10181018
assert_eq!(align_of::<API_SET_NAMESPACE_ENTRY>(), 4);
10191019
assert_eq!(size_of::<API_SET_VALUE_ENTRY>(), 20);
10201020
assert_eq!(align_of::<API_SET_VALUE_ENTRY>(), 4);
1021-
assert_eq!(size_of::<PEB>(), 1992);
1021+
assert_eq!(size_of::<PEB>(), 2480);
10221022
assert_eq!(align_of::<PEB>(), 8);
10231023
assert_eq!(FIELD_OFFSET!(PEB, InheritedAddressSpace), 0);
10241024
assert_eq!(FIELD_OFFSET!(PEB, ReadImageFileExecOptions), 1);
@@ -1086,27 +1086,27 @@ fn ntpebteb() {
10861086
assert_eq!(FIELD_OFFSET!(PEB, FlsListHead), 808);
10871087
assert_eq!(FIELD_OFFSET!(PEB, FlsBitmap), 824);
10881088
assert_eq!(FIELD_OFFSET!(PEB, FlsBitmapBits), 832);
1089-
assert_eq!(FIELD_OFFSET!(PEB, FlsHighIndex), 848);
1090-
assert_eq!(FIELD_OFFSET!(PEB, WerRegistrationData), 856);
1091-
assert_eq!(FIELD_OFFSET!(PEB, WerShipAssertPtr), 864);
1092-
assert_eq!(FIELD_OFFSET!(PEB, pUnused), 872);
1093-
assert_eq!(FIELD_OFFSET!(PEB, pImageHeaderHash), 880);
1094-
assert_eq!(FIELD_OFFSET!(PEB, TracingFlags), 888);
1095-
assert_eq!(FIELD_OFFSET!(PEB, CsrServerReadOnlySharedMemoryBase), 896);
1096-
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpListLock), 904);
1097-
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpList), 912);
1098-
assert_eq!(FIELD_OFFSET!(PEB, WaitOnAddressHashTable), 928);
1099-
assert_eq!(FIELD_OFFSET!(PEB, TelemetryCoverageHeader), 1952);
1100-
assert_eq!(FIELD_OFFSET!(PEB, CloudFileFlags), 1960);
1101-
assert_eq!(FIELD_OFFSET!(PEB, CloudFileDiagFlags), 1964);
1102-
assert_eq!(FIELD_OFFSET!(PEB, PlaceholderCompatibilityMode), 1968);
1089+
assert_eq!(FIELD_OFFSET!(PEB, FlsHighIndex), 1340);
1090+
assert_eq!(FIELD_OFFSET!(PEB, WerRegistrationData), 1344);
1091+
assert_eq!(FIELD_OFFSET!(PEB, WerShipAssertPtr), 1352);
1092+
assert_eq!(FIELD_OFFSET!(PEB, pUnused), 1360);
1093+
assert_eq!(FIELD_OFFSET!(PEB, pImageHeaderHash), 1368);
1094+
assert_eq!(FIELD_OFFSET!(PEB, TracingFlags), 1376);
1095+
assert_eq!(FIELD_OFFSET!(PEB, CsrServerReadOnlySharedMemoryBase), 1384);
1096+
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpListLock), 1392);
1097+
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpList), 1400);
1098+
assert_eq!(FIELD_OFFSET!(PEB, WaitOnAddressHashTable), 1416);
1099+
assert_eq!(FIELD_OFFSET!(PEB, TelemetryCoverageHeader), 2440);
1100+
assert_eq!(FIELD_OFFSET!(PEB, CloudFileFlags), 2448);
1101+
assert_eq!(FIELD_OFFSET!(PEB, CloudFileDiagFlags), 2452);
1102+
assert_eq!(FIELD_OFFSET!(PEB, PlaceholderCompatibilityMode), 2456);
11031103
assert_eq!(
11041104
FIELD_OFFSET!(PEB, PlaceholderCompatibilityModeReserved),
1105-
1969
1105+
2457
11061106
);
1107-
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondData), 1976);
1108-
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondFlags), 1984);
1109-
assert_eq!(FIELD_OFFSET!(PEB, NtGlobalFlag2), 1988);
1107+
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondData), 2464);
1108+
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondFlags), 2472);
1109+
assert_eq!(FIELD_OFFSET!(PEB, NtGlobalFlag2), 2476);
11101110
assert_eq!(size_of::<GDI_TEB_BATCH>(), 1256);
11111111
assert_eq!(align_of::<GDI_TEB_BATCH>(), 8);
11121112
assert_eq!(size_of::<TEB_ACTIVE_FRAME_CONTEXT>(), 16);
@@ -2202,7 +2202,7 @@ fn ntwow64() {
22022202
FIELD_OFFSET!(RTL_USER_PROCESS_PARAMETERS32, LoaderThreads),
22032203
672
22042204
);
2205-
assert_eq!(size_of::<PEB32>(), 1136);
2205+
assert_eq!(size_of::<PEB32>(), 1624);
22062206
assert_eq!(align_of::<PEB32>(), 8);
22072207
assert_eq!(FIELD_OFFSET!(PEB32, InheritedAddressSpace), 0);
22082208
assert_eq!(FIELD_OFFSET!(PEB32, ReadImageFileExecOptions), 1);
@@ -2276,23 +2276,26 @@ fn ntwow64() {
22762276
assert_eq!(FIELD_OFFSET!(PEB32, FlsListHead), 528);
22772277
assert_eq!(FIELD_OFFSET!(PEB32, FlsBitmap), 536);
22782278
assert_eq!(FIELD_OFFSET!(PEB32, FlsBitmapBits), 540);
2279-
assert_eq!(FIELD_OFFSET!(PEB32, FlsHighIndex), 556);
2280-
assert_eq!(FIELD_OFFSET!(PEB32, WerRegistrationData), 560);
2281-
assert_eq!(FIELD_OFFSET!(PEB32, WerShipAssertPtr), 564);
2282-
assert_eq!(FIELD_OFFSET!(PEB32, pContextData), 568);
2283-
assert_eq!(FIELD_OFFSET!(PEB32, pImageHeaderHash), 572);
2284-
assert_eq!(FIELD_OFFSET!(PEB32, TracingFlags), 576);
2285-
assert_eq!(FIELD_OFFSET!(PEB32, CsrServerReadOnlySharedMemoryBase), 584);
2286-
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpListLock), 592);
2287-
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpList), 596);
2288-
assert_eq!(FIELD_OFFSET!(PEB32, WaitOnAddressHashTable), 604);
2289-
assert_eq!(FIELD_OFFSET!(PEB32, TelemetryCoverageHeader), 1116);
2290-
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileFlags), 1120);
2291-
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileDiagFlags), 1124);
2292-
assert_eq!(FIELD_OFFSET!(PEB32, PlaceholderCompatibilityMode), 1128);
2279+
assert_eq!(FIELD_OFFSET!(PEB32, FlsHighIndex), 1048);
2280+
assert_eq!(FIELD_OFFSET!(PEB32, WerRegistrationData), 1052);
2281+
assert_eq!(FIELD_OFFSET!(PEB32, WerShipAssertPtr), 1056);
2282+
assert_eq!(FIELD_OFFSET!(PEB32, pContextData), 1060);
2283+
assert_eq!(FIELD_OFFSET!(PEB32, pImageHeaderHash), 1064);
2284+
assert_eq!(FIELD_OFFSET!(PEB32, TracingFlags), 1068);
2285+
assert_eq!(
2286+
FIELD_OFFSET!(PEB32, CsrServerReadOnlySharedMemoryBase),
2287+
1072
2288+
);
2289+
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpListLock), 1080);
2290+
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpList), 1084);
2291+
assert_eq!(FIELD_OFFSET!(PEB32, WaitOnAddressHashTable), 1092);
2292+
assert_eq!(FIELD_OFFSET!(PEB32, TelemetryCoverageHeader), 1604);
2293+
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileFlags), 1608);
2294+
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileDiagFlags), 1612);
2295+
assert_eq!(FIELD_OFFSET!(PEB32, PlaceholderCompatibilityMode), 1616);
22932296
assert_eq!(
22942297
FIELD_OFFSET!(PEB32, PlaceholderCompatibilityModeReserved),
2295-
1129
2298+
1617
22962299
);
22972300
assert_eq!(size_of::<GDI_TEB_BATCH32>(), 1248);
22982301
assert_eq!(align_of::<GDI_TEB_BATCH32>(), 4);

tests/layout_x86.rs

Lines changed: 39 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ fn ntexapi() {
465465
assert_eq!(align_of::<SYSDBG_LIVEDUMP_CONTROL_ADDPAGES>(), 4);
466466
assert_eq!(size_of::<SYSDBG_LIVEDUMP_CONTROL>(), 40);
467467
assert_eq!(align_of::<SYSDBG_LIVEDUMP_CONTROL>(), 4);
468-
assert_eq!(size_of::<KUSER_SHARED_DATA>(), 1800);
468+
assert_eq!(size_of::<KUSER_SHARED_DATA>(), 1824);
469469
assert_eq!(align_of::<KUSER_SHARED_DATA>(), 4);
470470
assert_eq!(FIELD_OFFSET!(KUSER_SHARED_DATA, TickCountLowDeprecated), 0);
471471
assert_eq!(FIELD_OFFSET!(KUSER_SHARED_DATA, TickCountMultiplier), 4);
@@ -1015,7 +1015,7 @@ fn ntpebteb() {
10151015
assert_eq!(align_of::<API_SET_NAMESPACE_ENTRY>(), 4);
10161016
assert_eq!(size_of::<API_SET_VALUE_ENTRY>(), 20);
10171017
assert_eq!(align_of::<API_SET_VALUE_ENTRY>(), 4);
1018-
assert_eq!(size_of::<PEB>(), 1152);
1018+
assert_eq!(size_of::<PEB>(), 1640);
10191019
assert_eq!(align_of::<PEB>(), 8);
10201020
assert_eq!(FIELD_OFFSET!(PEB, InheritedAddressSpace), 0);
10211021
assert_eq!(FIELD_OFFSET!(PEB, ReadImageFileExecOptions), 1);
@@ -1083,27 +1083,27 @@ fn ntpebteb() {
10831083
assert_eq!(FIELD_OFFSET!(PEB, FlsListHead), 528);
10841084
assert_eq!(FIELD_OFFSET!(PEB, FlsBitmap), 536);
10851085
assert_eq!(FIELD_OFFSET!(PEB, FlsBitmapBits), 540);
1086-
assert_eq!(FIELD_OFFSET!(PEB, FlsHighIndex), 556);
1087-
assert_eq!(FIELD_OFFSET!(PEB, WerRegistrationData), 560);
1088-
assert_eq!(FIELD_OFFSET!(PEB, WerShipAssertPtr), 564);
1089-
assert_eq!(FIELD_OFFSET!(PEB, pUnused), 568);
1090-
assert_eq!(FIELD_OFFSET!(PEB, pImageHeaderHash), 572);
1091-
assert_eq!(FIELD_OFFSET!(PEB, TracingFlags), 576);
1092-
assert_eq!(FIELD_OFFSET!(PEB, CsrServerReadOnlySharedMemoryBase), 584);
1093-
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpListLock), 592);
1094-
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpList), 596);
1095-
assert_eq!(FIELD_OFFSET!(PEB, WaitOnAddressHashTable), 604);
1096-
assert_eq!(FIELD_OFFSET!(PEB, TelemetryCoverageHeader), 1116);
1097-
assert_eq!(FIELD_OFFSET!(PEB, CloudFileFlags), 1120);
1098-
assert_eq!(FIELD_OFFSET!(PEB, CloudFileDiagFlags), 1124);
1099-
assert_eq!(FIELD_OFFSET!(PEB, PlaceholderCompatibilityMode), 1128);
1086+
assert_eq!(FIELD_OFFSET!(PEB, FlsHighIndex), 1048);
1087+
assert_eq!(FIELD_OFFSET!(PEB, WerRegistrationData), 1052);
1088+
assert_eq!(FIELD_OFFSET!(PEB, WerShipAssertPtr), 1056);
1089+
assert_eq!(FIELD_OFFSET!(PEB, pUnused), 1060);
1090+
assert_eq!(FIELD_OFFSET!(PEB, pImageHeaderHash), 1064);
1091+
assert_eq!(FIELD_OFFSET!(PEB, TracingFlags), 1068);
1092+
assert_eq!(FIELD_OFFSET!(PEB, CsrServerReadOnlySharedMemoryBase), 1072);
1093+
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpListLock), 1080);
1094+
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpList), 1084);
1095+
assert_eq!(FIELD_OFFSET!(PEB, WaitOnAddressHashTable), 1092);
1096+
assert_eq!(FIELD_OFFSET!(PEB, TelemetryCoverageHeader), 1604);
1097+
assert_eq!(FIELD_OFFSET!(PEB, CloudFileFlags), 1608);
1098+
assert_eq!(FIELD_OFFSET!(PEB, CloudFileDiagFlags), 1612);
1099+
assert_eq!(FIELD_OFFSET!(PEB, PlaceholderCompatibilityMode), 1616);
11001100
assert_eq!(
11011101
FIELD_OFFSET!(PEB, PlaceholderCompatibilityModeReserved),
1102-
1129
1102+
1617
11031103
);
1104-
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondData), 1136);
1105-
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondFlags), 1140);
1106-
assert_eq!(FIELD_OFFSET!(PEB, NtGlobalFlag2), 1144);
1104+
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondData), 1624);
1105+
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondFlags), 1628);
1106+
assert_eq!(FIELD_OFFSET!(PEB, NtGlobalFlag2), 1632);
11071107
assert_eq!(size_of::<GDI_TEB_BATCH>(), 1248);
11081108
assert_eq!(align_of::<GDI_TEB_BATCH>(), 4);
11091109
assert_eq!(size_of::<TEB_ACTIVE_FRAME_CONTEXT>(), 8);
@@ -2194,7 +2194,7 @@ fn ntwow64() {
21942194
FIELD_OFFSET!(RTL_USER_PROCESS_PARAMETERS32, LoaderThreads),
21952195
672
21962196
);
2197-
assert_eq!(size_of::<PEB32>(), 1136);
2197+
assert_eq!(size_of::<PEB32>(), 1624);
21982198
assert_eq!(align_of::<PEB32>(), 8);
21992199
assert_eq!(FIELD_OFFSET!(PEB32, InheritedAddressSpace), 0);
22002200
assert_eq!(FIELD_OFFSET!(PEB32, ReadImageFileExecOptions), 1);
@@ -2268,23 +2268,26 @@ fn ntwow64() {
22682268
assert_eq!(FIELD_OFFSET!(PEB32, FlsListHead), 528);
22692269
assert_eq!(FIELD_OFFSET!(PEB32, FlsBitmap), 536);
22702270
assert_eq!(FIELD_OFFSET!(PEB32, FlsBitmapBits), 540);
2271-
assert_eq!(FIELD_OFFSET!(PEB32, FlsHighIndex), 556);
2272-
assert_eq!(FIELD_OFFSET!(PEB32, WerRegistrationData), 560);
2273-
assert_eq!(FIELD_OFFSET!(PEB32, WerShipAssertPtr), 564);
2274-
assert_eq!(FIELD_OFFSET!(PEB32, pContextData), 568);
2275-
assert_eq!(FIELD_OFFSET!(PEB32, pImageHeaderHash), 572);
2276-
assert_eq!(FIELD_OFFSET!(PEB32, TracingFlags), 576);
2277-
assert_eq!(FIELD_OFFSET!(PEB32, CsrServerReadOnlySharedMemoryBase), 584);
2278-
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpListLock), 592);
2279-
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpList), 596);
2280-
assert_eq!(FIELD_OFFSET!(PEB32, WaitOnAddressHashTable), 604);
2281-
assert_eq!(FIELD_OFFSET!(PEB32, TelemetryCoverageHeader), 1116);
2282-
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileFlags), 1120);
2283-
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileDiagFlags), 1124);
2284-
assert_eq!(FIELD_OFFSET!(PEB32, PlaceholderCompatibilityMode), 1128);
2271+
assert_eq!(FIELD_OFFSET!(PEB32, FlsHighIndex), 1048);
2272+
assert_eq!(FIELD_OFFSET!(PEB32, WerRegistrationData), 1052);
2273+
assert_eq!(FIELD_OFFSET!(PEB32, WerShipAssertPtr), 1056);
2274+
assert_eq!(FIELD_OFFSET!(PEB32, pContextData), 1060);
2275+
assert_eq!(FIELD_OFFSET!(PEB32, pImageHeaderHash), 1064);
2276+
assert_eq!(FIELD_OFFSET!(PEB32, TracingFlags), 1068);
2277+
assert_eq!(
2278+
FIELD_OFFSET!(PEB32, CsrServerReadOnlySharedMemoryBase),
2279+
1072
2280+
);
2281+
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpListLock), 1080);
2282+
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpList), 1084);
2283+
assert_eq!(FIELD_OFFSET!(PEB32, WaitOnAddressHashTable), 1092);
2284+
assert_eq!(FIELD_OFFSET!(PEB32, TelemetryCoverageHeader), 1604);
2285+
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileFlags), 1608);
2286+
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileDiagFlags), 1612);
2287+
assert_eq!(FIELD_OFFSET!(PEB32, PlaceholderCompatibilityMode), 1616);
22852288
assert_eq!(
22862289
FIELD_OFFSET!(PEB32, PlaceholderCompatibilityModeReserved),
2287-
1129
2290+
1617
22882291
);
22892292
assert_eq!(size_of::<GDI_TEB_BATCH32>(), 1248);
22902293
assert_eq!(align_of::<GDI_TEB_BATCH32>(), 4);

tests/layout_x86_64.rs

Lines changed: 39 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ fn ntexapi() {
468468
assert_eq!(align_of::<SYSDBG_LIVEDUMP_CONTROL_ADDPAGES>(), 4);
469469
assert_eq!(size_of::<SYSDBG_LIVEDUMP_CONTROL>(), 64);
470470
assert_eq!(align_of::<SYSDBG_LIVEDUMP_CONTROL>(), 8);
471-
assert_eq!(size_of::<KUSER_SHARED_DATA>(), 1800);
471+
assert_eq!(size_of::<KUSER_SHARED_DATA>(), 1824);
472472
assert_eq!(align_of::<KUSER_SHARED_DATA>(), 4);
473473
assert_eq!(FIELD_OFFSET!(KUSER_SHARED_DATA, TickCountLowDeprecated), 0);
474474
assert_eq!(FIELD_OFFSET!(KUSER_SHARED_DATA, TickCountMultiplier), 4);
@@ -1018,7 +1018,7 @@ fn ntpebteb() {
10181018
assert_eq!(align_of::<API_SET_NAMESPACE_ENTRY>(), 4);
10191019
assert_eq!(size_of::<API_SET_VALUE_ENTRY>(), 20);
10201020
assert_eq!(align_of::<API_SET_VALUE_ENTRY>(), 4);
1021-
assert_eq!(size_of::<PEB>(), 1992);
1021+
assert_eq!(size_of::<PEB>(), 2480);
10221022
assert_eq!(align_of::<PEB>(), 8);
10231023
assert_eq!(FIELD_OFFSET!(PEB, InheritedAddressSpace), 0);
10241024
assert_eq!(FIELD_OFFSET!(PEB, ReadImageFileExecOptions), 1);
@@ -1086,27 +1086,27 @@ fn ntpebteb() {
10861086
assert_eq!(FIELD_OFFSET!(PEB, FlsListHead), 808);
10871087
assert_eq!(FIELD_OFFSET!(PEB, FlsBitmap), 824);
10881088
assert_eq!(FIELD_OFFSET!(PEB, FlsBitmapBits), 832);
1089-
assert_eq!(FIELD_OFFSET!(PEB, FlsHighIndex), 848);
1090-
assert_eq!(FIELD_OFFSET!(PEB, WerRegistrationData), 856);
1091-
assert_eq!(FIELD_OFFSET!(PEB, WerShipAssertPtr), 864);
1092-
assert_eq!(FIELD_OFFSET!(PEB, pUnused), 872);
1093-
assert_eq!(FIELD_OFFSET!(PEB, pImageHeaderHash), 880);
1094-
assert_eq!(FIELD_OFFSET!(PEB, TracingFlags), 888);
1095-
assert_eq!(FIELD_OFFSET!(PEB, CsrServerReadOnlySharedMemoryBase), 896);
1096-
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpListLock), 904);
1097-
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpList), 912);
1098-
assert_eq!(FIELD_OFFSET!(PEB, WaitOnAddressHashTable), 928);
1099-
assert_eq!(FIELD_OFFSET!(PEB, TelemetryCoverageHeader), 1952);
1100-
assert_eq!(FIELD_OFFSET!(PEB, CloudFileFlags), 1960);
1101-
assert_eq!(FIELD_OFFSET!(PEB, CloudFileDiagFlags), 1964);
1102-
assert_eq!(FIELD_OFFSET!(PEB, PlaceholderCompatibilityMode), 1968);
1089+
assert_eq!(FIELD_OFFSET!(PEB, FlsHighIndex), 1340);
1090+
assert_eq!(FIELD_OFFSET!(PEB, WerRegistrationData), 1344);
1091+
assert_eq!(FIELD_OFFSET!(PEB, WerShipAssertPtr), 1352);
1092+
assert_eq!(FIELD_OFFSET!(PEB, pUnused), 1360);
1093+
assert_eq!(FIELD_OFFSET!(PEB, pImageHeaderHash), 1368);
1094+
assert_eq!(FIELD_OFFSET!(PEB, TracingFlags), 1376);
1095+
assert_eq!(FIELD_OFFSET!(PEB, CsrServerReadOnlySharedMemoryBase), 1384);
1096+
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpListLock), 1392);
1097+
assert_eq!(FIELD_OFFSET!(PEB, TppWorkerpList), 1400);
1098+
assert_eq!(FIELD_OFFSET!(PEB, WaitOnAddressHashTable), 1416);
1099+
assert_eq!(FIELD_OFFSET!(PEB, TelemetryCoverageHeader), 2440);
1100+
assert_eq!(FIELD_OFFSET!(PEB, CloudFileFlags), 2448);
1101+
assert_eq!(FIELD_OFFSET!(PEB, CloudFileDiagFlags), 2452);
1102+
assert_eq!(FIELD_OFFSET!(PEB, PlaceholderCompatibilityMode), 2456);
11031103
assert_eq!(
11041104
FIELD_OFFSET!(PEB, PlaceholderCompatibilityModeReserved),
1105-
1969
1105+
2457
11061106
);
1107-
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondData), 1976);
1108-
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondFlags), 1984);
1109-
assert_eq!(FIELD_OFFSET!(PEB, NtGlobalFlag2), 1988);
1107+
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondData), 2464);
1108+
assert_eq!(FIELD_OFFSET!(PEB, LeapSecondFlags), 2472);
1109+
assert_eq!(FIELD_OFFSET!(PEB, NtGlobalFlag2), 2476);
11101110
assert_eq!(size_of::<GDI_TEB_BATCH>(), 1256);
11111111
assert_eq!(align_of::<GDI_TEB_BATCH>(), 8);
11121112
assert_eq!(size_of::<TEB_ACTIVE_FRAME_CONTEXT>(), 16);
@@ -2205,7 +2205,7 @@ fn ntwow64() {
22052205
FIELD_OFFSET!(RTL_USER_PROCESS_PARAMETERS32, LoaderThreads),
22062206
672
22072207
);
2208-
assert_eq!(size_of::<PEB32>(), 1136);
2208+
assert_eq!(size_of::<PEB32>(), 1624);
22092209
assert_eq!(align_of::<PEB32>(), 8);
22102210
assert_eq!(FIELD_OFFSET!(PEB32, InheritedAddressSpace), 0);
22112211
assert_eq!(FIELD_OFFSET!(PEB32, ReadImageFileExecOptions), 1);
@@ -2279,23 +2279,26 @@ fn ntwow64() {
22792279
assert_eq!(FIELD_OFFSET!(PEB32, FlsListHead), 528);
22802280
assert_eq!(FIELD_OFFSET!(PEB32, FlsBitmap), 536);
22812281
assert_eq!(FIELD_OFFSET!(PEB32, FlsBitmapBits), 540);
2282-
assert_eq!(FIELD_OFFSET!(PEB32, FlsHighIndex), 556);
2283-
assert_eq!(FIELD_OFFSET!(PEB32, WerRegistrationData), 560);
2284-
assert_eq!(FIELD_OFFSET!(PEB32, WerShipAssertPtr), 564);
2285-
assert_eq!(FIELD_OFFSET!(PEB32, pContextData), 568);
2286-
assert_eq!(FIELD_OFFSET!(PEB32, pImageHeaderHash), 572);
2287-
assert_eq!(FIELD_OFFSET!(PEB32, TracingFlags), 576);
2288-
assert_eq!(FIELD_OFFSET!(PEB32, CsrServerReadOnlySharedMemoryBase), 584);
2289-
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpListLock), 592);
2290-
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpList), 596);
2291-
assert_eq!(FIELD_OFFSET!(PEB32, WaitOnAddressHashTable), 604);
2292-
assert_eq!(FIELD_OFFSET!(PEB32, TelemetryCoverageHeader), 1116);
2293-
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileFlags), 1120);
2294-
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileDiagFlags), 1124);
2295-
assert_eq!(FIELD_OFFSET!(PEB32, PlaceholderCompatibilityMode), 1128);
2282+
assert_eq!(FIELD_OFFSET!(PEB32, FlsHighIndex), 1048);
2283+
assert_eq!(FIELD_OFFSET!(PEB32, WerRegistrationData), 1052);
2284+
assert_eq!(FIELD_OFFSET!(PEB32, WerShipAssertPtr), 1056);
2285+
assert_eq!(FIELD_OFFSET!(PEB32, pContextData), 1060);
2286+
assert_eq!(FIELD_OFFSET!(PEB32, pImageHeaderHash), 1064);
2287+
assert_eq!(FIELD_OFFSET!(PEB32, TracingFlags), 1068);
2288+
assert_eq!(
2289+
FIELD_OFFSET!(PEB32, CsrServerReadOnlySharedMemoryBase),
2290+
1072
2291+
);
2292+
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpListLock), 1080);
2293+
assert_eq!(FIELD_OFFSET!(PEB32, TppWorkerpList), 1084);
2294+
assert_eq!(FIELD_OFFSET!(PEB32, WaitOnAddressHashTable), 1092);
2295+
assert_eq!(FIELD_OFFSET!(PEB32, TelemetryCoverageHeader), 1604);
2296+
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileFlags), 1608);
2297+
assert_eq!(FIELD_OFFSET!(PEB32, CloudFileDiagFlags), 1612);
2298+
assert_eq!(FIELD_OFFSET!(PEB32, PlaceholderCompatibilityMode), 1616);
22962299
assert_eq!(
22972300
FIELD_OFFSET!(PEB32, PlaceholderCompatibilityModeReserved),
2298-
1129
2301+
1617
22992302
);
23002303
assert_eq!(size_of::<GDI_TEB_BATCH32>(), 1248);
23012304
assert_eq!(align_of::<GDI_TEB_BATCH32>(), 4);

0 commit comments

Comments
 (0)