Bitdefender Hypervisor Memory Introspection
wddefs.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020 Bitdefender
3  * SPDX-License-Identifier: Apache-2.0
4  */
20 
21 #ifndef _WDDEFS_H_
22 #define _WDDEFS_H_
23 
24 #include "introdefs.h"
25 
29 #define IDT_OFFSET 0x38
30 
31 #define IDT_DESC_SIZE32 8
32 #define IDT_DESC_SIZE64 16
33 
34 #define DRIVER_OBJECT_TYPE 4
38 
42 #define KESDT_SIZE (4 * 4)
43 
44 //
45 //Windows OS Build number definitions
46 //
47 #define WIN_BUILD_7_0 7600
48 #define WIN_BUILD_7_1 7601
49 #define WIN_BUILD_7_2 7602
50 #define WIN_BUILD_8 9200
51 #define WIN_BUILD_8_1 9600
52 #define WIN_BUILD_10_TH1 10240
53 #define WIN_BUILD_10_TH2 10586
54 #define WIN_BUILD_10_RS1 14393
55 #define WIN_BUILD_10_RS2 15063
56 #define WIN_BUILD_10_RS3 16299
57 #define WIN_BUILD_10_RS4 17134
58 #define WIN_BUILD_10_RS5 17763
59 #define WIN_BUILD_10_19H1 18362
60 #define WIN_BUILD_10_19H2 18362
61 #define WIN_BUILD_10_20H1 19041
62 
63 //
64 // HAL related definitions hard coded by Windows versions prior to RS2
65 //
66 
67 #define WIN_HAL_HEAP_BASE_32 0xFFD00000
68 #define WIN_HAL_HEAP_BASE_64 0xFFFFFFFFFFD00000
69 
70 #define IS_KERNEL_POINTER_WIN(is64, p) ((is64) ? (((p) & 0xFFFF800000000000) == 0xFFFF800000000000) \
77  : (((p) & 0x80000000) == 0x80000000))
78 
87 #define FIX_GUEST_POINTER(is64, x) ((is64) ? (x) : ((x) & 0xFFFFFFFF))
88 
100 #define EX_FAST_REF_TO_PTR(is64, p) ((is64) ? (p) & ~(0x0FULL) : (p) & ~(0x07ULL))
101 
106 typedef struct _UNICODE_STRING
107 {
112 
113 #pragma pack(push)
114 #pragma pack(1)
115 
120 typedef struct _UNICODE_STRING32
121 {
131 
136 typedef struct _UNICODE_STRING64
137 {
143  QWORD Buffer;
148 
153 typedef struct _LIST_ENTRY32
154 {
155  DWORD Flink, Blink;
157 
162 typedef struct _LIST_ENTRY64
163 {
164  QWORD Flink, Blink;
166 
167 #pragma pack(pop)
168 
173 {
192 
193  //
194  // Add other fields, if needed
195  //
197 
202 {
221 
222  //
223  // Add other fields, if needed
224  //
226 
227 #pragma pack(push)
228 #pragma pack(1)
229 
233 typedef struct _DRIVER_OBJECT32
234 {
249  DWORD MajorFunctions[28];
251 
255 typedef struct _DRIVER_OBJECT64
256 {
272  QWORD MajorFunctions[28];
274 
275 #pragma pack(pop)
276 
280 typedef struct _FAST_IO_DISPATCH32
281 {
311 
315 typedef struct _FAST_IO_DISPATCH64
316 {
346 
350 typedef struct _OBJECT_HEADER32
351 {
353 
354  union
355  {
358  };
359 
369 
373 typedef struct _OBJECT_HEADER64
374 {
376 
377  union
378  {
381  };
382 
389 
390  union
391  {
394  };
395 
399 
403 typedef struct _POOL_HEADER32
404 {
405  union
406  {
407  struct
408  {
413  };
414 
416  };
417 
418  union
419  {
421  struct
422  {
425  };
426  };
427 } POOL_HEADER32;
428 
432 typedef struct _POOL_HEADER64
433 {
434  union
435  {
436  struct
437  {
442  };
443 
445  };
446 
448  union
449  {
451 
452  struct
453  {
456  };
457  };
458 } POOL_HEADER64;
459 
460 typedef union _POOL_HEADER
461 {
465 
466 #define WIN_POOL_HEADER_SIZE32 0x8
467 #define WIN_POOL_HEADER_SIZE64 0x10
468 
469 #define WIN_POOL_HEADER_SIZE ((gGuest.Guest64) ? WIN_POOL_HEADER_SIZE64 : WIN_POOL_HEADER_SIZE32)
470 
471 #define WIN_POOL_BLOCK_SIZE32 0x08
472 #define WIN_POOL_BLOCK_SIZE64 0x10
473 
474 #define WIN_POOL_BLOCK_SIZE ((gGuest.Guest64) ? WIN_POOL_BLOCK_SIZE64 : WIN_POOL_BLOCK_SIZE32)
475 
476 
477 STATIC_ASSERT(sizeof(POOL_HEADER32) == WIN_POOL_HEADER_SIZE32, "Wrong size for POOL_HEADER32!");
478 STATIC_ASSERT(sizeof(POOL_HEADER64) == WIN_POOL_HEADER_SIZE64, "Wrong size for POOL_HEADER64!");
479 
480 #if !defined(INT_COMPILER_CLANG)
481 STATIC_ASSERT(OFFSET_OF(POOL_HEADER32, PoolTag) == OFFSET_OF(POOL_HEADER64, PoolTag), "Wrong PoolTag offset!");
482 #endif
483 
488 typedef enum _POOL_TYPE
489 {
499 
500  //
501  // Define base types for NonPaged (versus Paged) pool, for use in cracking
502  // the underlying pool type.
503  //
504 
509 
510  //
511  // Note these per session types are carefully chosen so that the appropriate
512  // masking still applies as well as MaxPoolType above.
513  //
514 
522 
526 
527 } POOL_TYPE;
528 
530 {
538 
540 {
548 
550 {
554 
555 #define WIN_POOL_TRACKER_SIZE (DWORD)((gGuest.Guest64) ? sizeof(POOL_TRACKER_BIG_PAGES64) : \
556  sizeof(POOL_TRACKER_BIG_PAGES32))
557 
558 //
559 // SID Attribute flags
560 // See winnt.h or https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_groups_and_privileges
561 //
562 #define SE_GROUP_MANDATORY (0x00000001L)
563 #define SE_GROUP_ENABLED_BY_DEFAULT (0x00000002L)
564 #define SE_GROUP_ENABLED (0x00000004L)
565 #define SE_GROUP_OWNER (0x00000008L)
566 #define SE_GROUP_USE_FOR_DENY_ONLY (0x00000010L)
567 #define SE_GROUP_INTEGRITY (0x00000020L)
568 #define SE_GROUP_INTEGRITY_ENABLED (0x00000040L)
569 #define SE_GROUP_LOGON_ID (0xC0000000L)
570 #define SE_GROUP_RESOURCE (0x20000000L)
571 
572 #define SE_GROUP_VALID_ATTRIBUTES (SE_GROUP_MANDATORY | \
573  SE_GROUP_ENABLED_BY_DEFAULT | \
574  SE_GROUP_ENABLED | \
575  SE_GROUP_OWNER | \
576  SE_GROUP_USE_FOR_DENY_ONLY | \
577  SE_GROUP_LOGON_ID | \
578  SE_GROUP_RESOURCE | \
579  SE_GROUP_INTEGRITY | \
580  SE_GROUP_INTEGRITY_ENABLED)
581 
583 {
589 
590 typedef struct _SID_AND_ATTRIBUTES64
591 {
595 
596 //
597 // dt nt!_SID_AND_ATTRIBUTES, 0x8 bytes
598 //
599 typedef struct _SID_AND_ATTRIBUTES32
600 {
604 
606 
608 {
609  UCHAR Value[6];
611 
612 typedef struct _SID
613 {
618 } SID, *PSID;
619 
620 #pragma pack(push)
621 #pragma pack(1)
622 typedef struct _SECURITY_DESCRIPTOR
623 {
626  SECURITY_DESCRIPTOR_CONTROL Control;
630 #pragma pack(pop)
631 
637 typedef struct _ACL
638 {
644 } ACL, *PACL;
645 
651 typedef struct _ACE_HEADER
652 {
656 } ACE_HEADER;
657 
661 typedef enum _ACE_TYPE
662 {
685 } ACE_TYPE;
686 
688 #define ACCESS_ALLOWED_ACE_TYPE_STRING "ACCESS_ALLOWED_ACE_TYPE"
689 #define ACCESS_DENIED_ACE_TYPE_STRING "ACCESS_DENIED_ACE_TYPE"
691 #define SYSTEM_AUDIT_ACE_TYPE_STRING "SYSTEM_AUDIT_ACE_TYPE"
693 #define SYSTEM_ALARM_ACE_TYPES_STRING "SYSTEM_ALARM_ACE_TYPE"
695 #define ACCESS_ALLOWED_COMPOUND_ACE_TYPE_STRING "ACCESS_ALLOWED_COMPOUND_ACE_TYPE"
697 #define ACCESS_ALLOWED_OBJECT_ACE_TYPE_STRING "ACCESS_ALLOWED_OBJECT_ACE_TYPE"
699 #define ACCESS_DENIED_OBJECT_ACE_TYPE_STRING "ACCESS_DENIED_OBJECT_ACE_TYPE"
701 #define SYSTEM_AUDIT_OBJECT_ACE_TYPE_STRING "SYSTEM_AUDIT_OBJECT_ACE_TYPE"
703 #define SYSTEM_ALARM_OBJECT_ACE_TYPE_STRING "SYSTEM_ALARM_OBJECT_ACE_TYPE"
705 #define ACCESS_ALLOWED_CALLBACK_ACE_TYPE_STRING "ACCESS_ALLOWED_CALLBACK_ACE_TYPE"
707 #define ACCESS_DENIED_CALLBACK_ACE_TYPE_STRING "ACCESS_DENIED_CALLBACK_ACE_TYPE"
709 #define ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE_STRING "ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE"
711 #define ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE_STRING "ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE"
713 #define SYSTEM_AUDIT_CALLBACK_ACE_TYPE_STRING "SYSTEM_AUDIT_CALLBACK_ACE_TYPE"
715 #define SYSTEM_ALARM_CALLBACK_ACE_TYPE_STRING "SYSTEM_ALARM_CALLBACK_ACE_TYPE"
717 #define SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE_STRING "SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE"
719 #define SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE_STRING "SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE"
721 #define SYSTEM_MANDATORY_LABEL_ACE_TYPE_STRING "SYSTEM_MANDATORY_LABEL_ACE_TYPE"
723 #define SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE_STRING "SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE"
725 #define SYSTEM_SCOPED_POLICY_ID_ACE_TYPE_STRING "SYSTEM_SCOPED_POLICY_ID_ACE_TYPE"
727 #define SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE_STRING "SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE"
729 #define SYSTEM_ACCESS_FILTER_ACE_TYPE_STRING "SYSTEM_ACCESS_FILTER_ACE_TYPE"
731 
732 
733 //
734 // ACL revision versions - wdm.h
735 //
736 
737 // This is the *current* ACL revision
738 #define ACL_REVISION (2)
739 #define ACL_REVISION_DS (4)
740 
741 // This is the history of ACL revisions. Add a new one whenever
742 // ACL_REVISION is updated
743 #define ACL_REVISION1 (1)
744 #define MIN_ACL_REVISION ACL_REVISION2
745 #define ACL_REVISION2 (2)
746 #define ACL_REVISION3 (3)
747 #define ACL_REVISION4 (4)
748 #define MAX_ACL_REVISION ACL_REVISION4
749 
754 {
755  BYTE Reserved1[16];
756  DWORD Reserved2[10];
760 
765 {
766  BYTE Reserved1[16];
767  QWORD Reserved2[10];
771 
776 {
777 
778  // Entries initialized at creation
781 
782  // Entries used in bucket computation.
786 
787  // Counters
791 
792  // The directory. This field is for internal use only.
794 
796 
801 {
802 
803  // Entries initialized at creation
806 
807  // Entries used in bucket computation.
811 
812  // Counters
816 
817  // The directory. This field is for internal use only.
819 
821 
825 typedef struct _PEB32
826 {
827  BYTE Reserved1[2];
829  BYTE Reserved2[1];
830  DWORD Reserved3[2];
833  DWORD Reserved4[3];
840  DWORD Reserved9[45];
841  BYTE Reserved10[96];
843  BYTE Reserved11[128];
844  DWORD Reserved12[1];
846 } PEB32, *PPEB32;
847 
851 typedef struct _PEB64
852 {
853  BYTE Reserved1[2];
855  BYTE Reserved2[1];
856  QWORD Reserved3[2];
859  QWORD Reserved4[3];
866  QWORD Reserved9[45];
867  BYTE Reserved10[96];
869  BYTE Reserved11[128];
870  QWORD Reserved12[1];
872 } PEB64, *PPEB64;
873 
874 // from wdm.h
875 //
876 // Define 128-bit 16-byte aligned xmm register type.
877 //
878 
879 typedef struct _M128A
880 {
883 } M128A, *PM128A;
884 
885 // Windows 10 RS2 x86 - structure taken from WINDBG
886 typedef struct _KI_IO_ACCESS_MAP
887 {
888  BYTE DirectionMap[32];
889  BYTE IoMap[8196];
891 
892 #pragma pack(push)
893 #pragma pack(1)
894 // Windows 10 RS2 x86 - structure taken from WINDBG
895 typedef struct _KTSS
896 {
902  DWORD NotUsed1[4];
930 
931  //
932  // Snippet of the structure
933  //
934 
935  //KI_IO_ACCESS_MAP IoMap;
936  //BYTE IntDirectionMap[32];
937 } KTSS, *PKTSS;
938 #pragma pack(pop)
939 
940 // Windows 10 RS2 x86 - structure taken from WINDBG
941 typedef struct _KTRAP_FRAME32
942 {
950 
957 
966  BYTE Reserved[2];
968  DWORD ExceptionList; //PEXCEPTION_REGISTRATION_RECORD32
970 
975 
982 
988 
989 
990 typedef struct _KTRAP_FRAME64
991 {
992 
993  //
994  // Home address for the parameter registers.
995  //
996 
1002 
1003  //
1004  // Previous processor mode (system services only) and previous IRQL
1005  // (interrupts only).
1006  //
1007 
1010 
1011  //
1012  // Page fault load/store indicator.
1013  //
1014 
1016 
1017  //
1018  // Exception active indicator.
1019  //
1020  // 0 - interrupt frame.
1021  // 1 - exception frame.
1022  // 2 - service frame.
1023  //
1024 
1026 
1027  //
1028  // Floating point state.
1029  //
1030 
1032 
1033  //
1034  // Volatile registers.
1035  //
1036  // N.B. These registers are only saved on exceptions and interrupts. They
1037  // are not saved for system calls.
1038  //
1039 
1047 
1048  //
1049  // Gsbase is only used if the previous mode was kernel.
1050  //
1051  // GsSwap is only used if the previous mode was user.
1052  //
1053 
1054  union
1055  {
1058  };
1059 
1060  //
1061  // Volatile floating registers.
1062  //
1063  // N.B. These registers are only saved on exceptions and interrupts. They
1064  // are not saved for system calls.
1065  //
1066 
1073 
1074  //
1075  // First parameter, page fault address, context record address if user APC
1076  // bypass, or time stamp value.
1077  //
1078 
1079  union
1080  {
1084  };
1085 
1086  //
1087  // Debug registers.
1088  //
1089 
1096 
1097  //
1098  // Special debug registers.
1099  //
1100 
1101  struct
1102  {
1108  };
1109 
1110  //
1111  // Segment registers
1112  //
1113 
1118 
1119  //
1120  // Previous trap frame address.
1121  //
1122 
1124 
1125  //
1126  // Saved nonvolatile registers RBX, RDI and RSI. These registers are only
1127  // saved in system service trap frames.
1128  //
1129 
1133 
1134  //
1135  // Saved nonvolatile register RBP. This register is used as a frame
1136  // pointer during trap processing and is saved in all trap frames.
1137  //
1138 
1140 
1141  //
1142  // Information pushed by hardware.
1143  //
1144  // N.B. The error code is not always pushed by hardware. For those cases
1145  // where it is not pushed by hardware a dummy error code is allocated
1146  // on the stack.
1147  //
1148 
1149  union
1150  {
1154  };
1155 
1160  UINT16 Fill1[2];
1168 
1169 // Note that certain fields may be renamed/aliased, depending on the OS version/installed patches, but the size and
1170 // field offsets defined above should always be the same (at least they are for everything from Windows 7 to 10 RS5)
1171 // These static asserts should help in keeping the structure in a good state
1172 STATIC_ASSERT(sizeof(KTRAP_FRAME64) == 0x190, "Wrong size for KTRAP_FRAME64!");
1173 STATIC_ASSERT(OFFSET_OF(KTRAP_FRAME64, Rax) == 0x30, "Wrong offset for Rax in KTRAP_FRAME64!");
1174 STATIC_ASSERT(OFFSET_OF(KTRAP_FRAME64, Rbx) == 0x140, "Wrong offset for Rbx in KTRAP_FRAME64!");
1175 STATIC_ASSERT(OFFSET_OF(KTRAP_FRAME64, Rip) == 0x168, "Wrong offset for Rip in KTRAP_FRAME64!");
1176 STATIC_ASSERT(OFFSET_OF(KTRAP_FRAME64, Rsp) == 0x180, "Wrong offset for Rsp in KTRAP_FRAME64!");
1177 
1178 
1179 #ifndef EXCEPTION_MAXIMUM_PARAMETERS
1180 #define EXCEPTION_MAXIMUM_PARAMETERS 15ul
1181 #endif // !EXCEPTION_MAXIMUM_PARAMETERS
1182 
1188 typedef struct _EXCEPTION_RECORD64
1189 {
1199  QWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
1201 
1208 typedef struct _EXCEPTION_RECORD32
1209 {
1215  DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
1217 
1223 typedef struct _KEXCEPTION_FRAME64
1224 {
1225 
1226  //
1227  // Home address for the parameter registers.
1228  //
1229 
1236 
1237  //
1238  // Saved nonvolatile floating registers.
1239  //
1240 
1251 
1252  //
1253  // Kernel callout frame variables.
1254  //
1255 
1260 
1261  //
1262  // Saved MXCSR when a thread is interrupted in kernel mode via a dispatch
1263  // interrupt.
1264  //
1265 
1267 
1268  //
1269  // Saved nonvolatile register - not always saved.
1270  //
1271 
1273 
1274  //
1275  // Saved nonvolatile registers.
1276  //
1277 
1285 
1286  //
1287  // EFLAGS and return address.
1288  //
1289 
1292 
1293 // Note that certain fields may be renamed/aliased, depending on the OS version/installed patches, but the size and
1294 // field offsets defined above should always be the same (at least they are for everything from Windows 7 to 10 RS5)
1295 // These static asserts should help in keeping the structure in a good state
1296 STATIC_ASSERT(sizeof(KEXCEPTION_FRAME64) == 0x140, "Wrong size for KEXCEPTION_FRAME64!");
1297 STATIC_ASSERT(OFFSET_OF(KEXCEPTION_FRAME64, Rbp) == 0xF8, "Wrong offset for Rbp in KEXCEPTION_FRAME64!");
1298 
1299 //
1300 // PTE specific definitions of Windows
1301 //
1302 #define WIN_PTE_READWRITE 0x080
1303 #define WIN_PTE_TRANSITION 0x800
1304 #define WIN_PTE_PROTOTYPE 0x400
1305 #define WIN_PTE_GUARD 0x200
1306 
1310 #define HAL_DISPATCH_TABLE_PTR_COUNT 23
1311 
1317 #define RTL_BALANCED_NODE_PARENT_TO_PTR(Parent) ((Parent) & ~3)
1318 
1323 typedef enum _VAD_TYPE
1324 {
1328  VadAwe,
1343 } VAD_TYPE;
1344 
1345 
1346 //
1347 // Virtual Page protection constants (see winnt.h, PAGE_*)
1348 //
1349 #define WIN_MM_PAGE_NOACCESS 0x001
1350 #define WIN_MM_PAGE_READONLY 0x002
1351 #define WIN_MM_PAGE_READWRITE 0x004
1352 #define WIN_MM_PAGE_WRITECOPY 0x008
1353 #define WIN_MM_PAGE_EXECUTE 0x010
1354 #define WIN_MM_PAGE_EXECUTE_READ 0x020
1355 #define WIN_MM_PAGE_EXECUTE_READWRITE 0x040
1356 #define WIN_MM_PAGE_EXECUTE_WRITECOPY 0x080
1357 #define WIN_MM_PAGE_GUARD 0x100
1358 #define WIN_MM_PAGE_NOCACHE 0x200
1359 #define WIN_MM_PAGE_WRITECOMBINE 0x400
1360 
1361 
1365 typedef enum _KWAIT_REASON
1366 {
1408 } KWAIT_REASON;
1409 
1410 
1414 typedef enum _KTHREAD_STATE
1415 {
1424  GateWait, // GateWaitObsolete in Windows 10
1426 } KTHREAD_STATE;
1427 
1431 #define KEXEC_OPT_EXEC_DISABLE 1
1432 #define KEXEC_OPT_EXEC_ENABLE 2
1436 #define KEXEC_OPT_PERMANENT 8
1442 
1446 typedef struct _OBJECT_TYPE64
1447 {
1456 
1457  //
1458  // The following fields were changed from Windows 7 to Windows 8; we don't really need them at the moment
1459  // Add them if needed
1460  //
1461 
1463 
1464 STATIC_ASSERT(sizeof(OBJECT_TYPE64) == 0x40, "Invalid OBJECT_TYPE64 size!");
1465 
1469 typedef struct _OBJECT_TYPE32
1470 {
1479 
1480  //
1481  // The following fields were changed from Windows 7 to Windows 8; we don't really need them at the moment
1482  // Add them if needed
1483  //
1484 
1486 
1487 STATIC_ASSERT(sizeof(OBJECT_TYPE32) == 0x28, "Invalid OBJECT_TYPE32 size!");
1488 
1493 {
1496 
1497  //
1498  // Other fields may follow, but we don't use them
1499  //
1501 
1506 {
1509 
1510  //
1511  // Other fields may follow, but we don't use them
1512  //
1514 
1518 typedef struct _OBJECT_NAME64
1519 {
1524 
1528 typedef struct _OBJECT_NAME32
1529 {
1534 
1535 //
1536 // Define the size of the 80387 save area, which is in the context frame.
1537 //
1538 
1539 #define SIZE_OF_80387_REGISTERS 80
1540 #define MAXIMUM_SUPPORTED_EXTENSION 512
1541 
1545 typedef struct _XSAVE_FORMAT
1546 {
1560  M128A FloatRegisters[8];
1561 
1562  M128A XmmRegisters[16];
1563  BYTE Reserved4[96];
1564 
1565 
1567 
1569 
1573 typedef struct _FLOATING_SAVE_AREA
1574 {
1586 
1590 typedef struct _CONTEXT64
1591 {
1598 
1601 
1609 
1616 
1633 
1635 
1636  union
1637  {
1638  XMM_SAVE_AREA32 FltSave;
1639  struct
1640  {
1641  M128A Header[2];
1642  M128A Legacy[8];
1659  } DUMMYSTRUCTNAME;
1660  } DUMMYUNIONNAME;
1661 
1662  M128A VectorRegister[26];
1664 
1670 } CONTEXT64, *PCONTEXT64;
1671 
1675 typedef struct _CONTEXT32
1676 {
1678 
1685 
1687 
1692 
1699 
1706 
1707  BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];
1708 } CONTEXT32, *PCONTEXT32;
1709 
1716 {
1717  struct
1718  {
1749  } Values;
1750 
1753 
1760 {
1761  struct
1762  {
1775  } Values;
1776 
1779 
1785 typedef enum
1786 {
1796 
1802 typedef enum
1803 {
1812 } POWER_ACTION;
1813 
1814 #define POOL_TAG_INCO 'oCnI'
1815 #define POOL_TAG_INPA 'APnI'
1816 #define POOL_TAG_INCS 'SCnI'
1817 #define POOL_TAG_INNL 'lNnI'
1818 
1819 #define POOL_TAG_TCCO 'oCcT'
1820 #define POOL_TAG_TCHT 'THcT'
1821 #define POOL_TAG_TCPT 'tPcT'
1822 
1823 #define POOL_TAG_TCPE 'EpcT'
1824 #define POOL_TAG_TCPL 'LpcT'
1825 #define POOL_TAG_TCTW 'WTcT'
1826 
1827 typedef struct _RTL_VERIFIER_DLL_DESCRIPTOR_32
1831 {
1837 
1842 {
1848 
1853 {
1866 
1871 {
1884 
1885 // DllMain possible calling reasons
1886 #define DLL_PROCESS_DETACH 0
1887 #define DLL_PROCESS_ATTACH 1
1888 #define DLL_THREAD_ATTACH 2
1889 #define DLL_THREAD_DETACH 3
1890 #define DLL_VERIFIER_PROVIDER 4
1891 
1895 typedef enum _WIN_SOCK_STATE
1896 {
1909 
1911 } WIN_SOCK_STATE;
1912 
1913 #define AF_INET 0x02
1914 #define AF_INET6 0x17
1915 
1916 typedef union _ADDRINFO
1917 {
1918  struct
1919  {
1923  } Addr64;
1924 
1925  union
1926  {
1927  struct
1928  {
1932  } Win7;
1933 
1934  struct
1935  {
1936  DWORD Local;
1937  DWORD _pad2[2];
1938  DWORD Remote;
1939  } Win8AndAbove;
1940  } Addr32;
1941 } ADDRINFO, *PADDRINFO;
1942 
1943 typedef union _LOCAL_ADDRESS
1944 {
1945  struct
1946  {
1947  BYTE _pad0[0x0c];
1949  } Addr32;
1950 
1951  struct
1952  {
1953  BYTE _pad1[0x10];
1955  } Addr64;
1957 
1961 typedef struct _KINTERRUPT_COMMON32
1962 {
1975  // We don't care about the others, even if they are fixed.
1977 
1978 STATIC_ASSERT(OFFSET_OF(KINTERRUPT_COMMON32, ServiceRoutine) == 0xc, "Wrong ServiceRoutine offset in KINTERRUPT32!");
1979 STATIC_ASSERT(OFFSET_OF(KINTERRUPT_COMMON32, DispatchAddress) == 0x28, "Wrong DispatchAddress offset in KINTERRUPT32!");
1980 
1984 typedef struct _KINTERRUPT_COMMON64
1985 {
1998  // We don't care about the others, even if they are fixed.
2000 
2001 STATIC_ASSERT(OFFSET_OF(KINTERRUPT_COMMON64, ServiceRoutine) == 0x18, "Wrong ServiceRoutine offset in KINTERRUPT64!");
2002 STATIC_ASSERT(OFFSET_OF(KINTERRUPT_COMMON64, DispatchAddress) == 0x50, "Wrong DispatchAddress offset in KINTERRUPT64!");
2003 
2004 
2005 #endif // _WDDEFS_H_
DWORD NumberParameters
Definition: wddefs.h:1214
This is the structure as documented in ntddk.h.
Definition: wddefs.h:775
DWORD ControlFlowGuardStrict
Definition: wddefs.h:1721
DWORD TotalNumberOfObjects
Definition: wddefs.h:1452
QWORD FastIoDetachDevice
Definition: wddefs.h:330
DWORD Ulong1
Definition: wddefs.h:415
DWORD Edx
Definition: wddefs.h:961
QWORD R9
Definition: wddefs.h:1626
QWORD Rcx
Definition: wddefs.h:1618
DWORD Sid
Pointer to a _SID structure.
Definition: wddefs.h:601
WORD Reserved4
Definition: wddefs.h:919
DWORD DriverSection
Definition: wddefs.h:241
struct _DRIVER_OBJECT32 DRIVER_OBJECT32
The _DRIVER_OBJECT structure used by 32-bit guests.
struct _RTL_USER_PROCESS_PARAMETERS32 RTL_USER_PROCESS_PARAMETERS32
This is the structure as documented in winternl.h.
QWORD FastIoWriteCompressed
Definition: wddefs.h:338
QWORD GsSwap
Definition: wddefs.h:1057
POOL_TRACKER_BIG_PAGES64 Tracker64
Definition: wddefs.h:552
DWORD SegFs
Definition: wddefs.h:969
UCHAR SubAuthorityCount
Definition: wddefs.h:615
SYSTEM_POWER_STATE
The _SYSTEM_POWER_STATE enum values used by the Windows kernel.
Definition: wddefs.h:1785
WORD Reserved5
Definition: wddefs.h:921
DWORD EFlags
Definition: wddefs.h:979
struct _SID_IDENTIFIER_AUTHORITY * PSID_IDENTIFIER_AUTHORITY
DWORD PoolType
Definition: wddefs.h:441
struct _KTSS * PKTSS
M128A Xmm6
Definition: wddefs.h:1649
DWORD TotalNumberOfHandles
Definition: wddefs.h:1476
DWORD ExceptionList
Definition: wddefs.h:968
_SECURITY_IMPERSONATION_LEVEL
Definition: wddefs.h:582
DWORD InAddr
Definition: wddefs.h:1948
DWORD SegCs
Definition: wddefs.h:978
LIST_ENTRY32 InMemoryOrderLinks
Definition: wddefs.h:175
WORD AllocatorBackTraceIndex
Definition: wddefs.h:423
long long INT64
Definition: intro_types.h:45
QWORD Rdx
Definition: wddefs.h:1619
QWORD R12
Definition: wddefs.h:1629
QWORD ProcessBilled
Definition: wddefs.h:450
DWORD FastIoQueryNetworkOpenInfo
Definition: wddefs.h:296
struct _OBJECT_NAME32 OBJECT_NAME32
An _OBJECT_HEADER_NAME_INFO structure used by 32-bit guests.
BYTE FrameType
Definition: wddefs.h:948
#define SIZE_OF_80387_REGISTERS
Definition: wddefs.h:1539
struct _LDR_DATA_TABLE_ENTRY64 * PLDR_DATA_TABLE_ENTRY64
WORD Flags
Definition: wddefs.h:928
QWORD AcquireFileForNtCreateSection
Definition: wddefs.h:328
DWORD ReferenceCount
Reference count.
Definition: wddefs.h:1532
DWORD Eax
Definition: wddefs.h:1698
struct _LIST_ENTRY32 * PLIST_ENTRY32
Format of data for (F)XSAVE/(F)XRSTOR instruction for 32-bit guests.
Definition: wddefs.h:1545
DWORD PoolTag
Definition: wddefs.h:420
struct _KTRAP_FRAME32 KTRAP_FRAME32
QWORD P3Home
Definition: wddefs.h:999
uint8_t BYTE
Definition: intro_types.h:47
QWORD HardwareDatabase
Definition: wddefs.h:267
The _DRIVER_OBJECT structure used by 64-bit guests.
Definition: wddefs.h:255
struct _KTRAP_FRAME32 * PKTRAP_FRAME32
POOL_TRACKER_BIG_PAGES32 Tracker32
Definition: wddefs.h:551
#define OFFSET_OF(Type, Member)
Definition: introlists.h:33
DWORD SegEs
Definition: wddefs.h:959
struct _CONTEXT64 * PCONTEXT64
DWORD EFlags
Definition: wddefs.h:905
QWORD NextToFree
Definition: wddefs.h:380
DWORD EnableExportAddressFilterPlus
Definition: wddefs.h:1765
This is the structure as documented in winternl.h.
Definition: wddefs.h:825
struct _EXCEPTION_RECORD64 EXCEPTION_RECORD64
An _EXCEPTION_RECORD structure used by 64-bit guests.
QWORD P4Home
Definition: wddefs.h:1000
WORD Reserved7
Definition: wddefs.h:925
QWORD P1Home
Definition: wddefs.h:997
DWORD DefaultObject
Definition: wddefs.h:1473
struct _CONTEXT32 * PCONTEXT32
WORD TempSegCs
Definition: wddefs.h:946
LIST_ENTRY64 HashLinks
Definition: wddefs.h:214
DWORD DisableDynamicCodeAllowRemoteDowngrade
Definition: wddefs.h:1729
QWORD P4Home
Definition: wddefs.h:1595
LIST_ENTRY64 InLoadOrderLinks
Definition: wddefs.h:203
DWORD HighWaterNumberOfHandles
Definition: wddefs.h:1455
QWORD DebugControl
Definition: wddefs.h:1103
WORD Ss
Definition: wddefs.h:918
DWORD Ebp
Definition: wddefs.h:974
struct _RTL_VERIFIER_DLL_DESCRIPTOR_64 * PRTL_VERIFIER_DLL_DESCRIPTOR_64
UCHAR ExceptionActive
Definition: wddefs.h:1025
QWORD GsBase
Definition: wddefs.h:1056
WORD Ss0
Definition: wddefs.h:900
M128A Xmm13
Definition: wddefs.h:1656
struct _SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR
uint16_t WORD
Definition: intro_types.h:48
QWORD LastBranchFromRip
Definition: wddefs.h:1667
QWORD P6Home
Definition: wddefs.h:1597
DWORD AuditLoaderIntegrityContinuity
Definition: wddefs.h:1746
QWORD ExceptionAddress
The address at which the exception was generated.
Definition: wddefs.h:1195
QWORD SizeOfFastIoDispatch
Definition: wddefs.h:317
struct _RTL_VERIFIER_DLL_DESCRIPTOR_32 RTL_VERIFIER_DLL_DESCRIPTOR_32
Verifier provider initialization structures for 32-bit processes.
DWORD ExceptionCode
The code generated by hardware, or the one used with RaiseException(), or DBG_CONTROL_C.
Definition: wddefs.h:1191
struct _ACE_HEADER ACE_HEADER
An access control entry header.
XSAVE_FORMAT XMM_SAVE_AREA32
Definition: wddefs.h:1568
DWORD HardwareEsp
Definition: wddefs.h:980
DWORD FastIoUnlockSingle
Definition: wddefs.h:289
struct _OBJECT_HEADER64 * POBJECT_HEADER64
QWORD Chain
Gva to the next _OBJECT_DIRECTORY_ENTRY, may be NULL.
Definition: wddefs.h:1494
DWORD DisallowWin32kSystemCalls
Definition: wddefs.h:1731
union _WIN_MITIGATION_FLAGS2 WIN_MITIGATION_FLAGS2
Mitigation flags.
QWORD Object
Pointer to the object, may be NULL.
Definition: wddefs.h:1495
DWORD ContextFlags
Definition: wddefs.h:1677
DWORD HandleCount
Definition: wddefs.h:356
DWORD Reserved5
Definition: wddefs.h:835
enum _SECURITY_IMPERSONATION_LEVEL * PSECURITY_IMPERSONATION_LEVEL
struct _FAST_IO_DISPATCH64 * PFAST_IO_DISPATCH64
struct _UNICODE_STRING64 UNICODE_STRING64
The Windows UNICODE_STRING structure used for 64-bit guests.
POOL_HEADER32 Header32
Definition: wddefs.h:462
_WIN_SOCK_STATE
The states in which a Windows socket can be in.
Definition: wddefs.h:1895
Ignored by introcore.
Definition: wddefs.h:1326
WORD SECURITY_DESCRIPTOR_CONTROL
Definition: wddefs.h:605
QWORD Reserved7
Definition: wddefs.h:863
QWORD LastExceptionToRip
Definition: wddefs.h:1106
struct _KI_IO_ACCESS_MAP KI_IO_ACCESS_MAP
DWORD DbgEbp
Definition: wddefs.h:943
DWORD EnableExportAddressFilter
Definition: wddefs.h:1763
The _POOL_HEADER structure used by 32-bit guests.
Definition: wddefs.h:403
QWORD P2Home
Definition: wddefs.h:998
QWORD FastIoReadCompressed
Definition: wddefs.h:337
WORD Reserved3
Definition: wddefs.h:917
DWORD SegFs
Definition: wddefs.h:1689
WORD Reserved3
Definition: wddefs.h:1557
DWORD AuditExportAddressFilterPlus
Definition: wddefs.h:1766
QWORD FastIoCheckIfPossible
Definition: wddefs.h:318
Memory used by video drivers to transfer data between the GPU and a process.
Definition: wddefs.h:1341
DWORD MxCsr
Definition: wddefs.h:967
DWORD FastIoReadCompressed
Definition: wddefs.h:302
_KTHREAD_STATE
Thread scheduling states.
Definition: wddefs.h:1414
QWORD Dr6
Definition: wddefs.h:1614
QWORD MdlReadCompleteCompressed
Definition: wddefs.h:339
struct _FAST_IO_DISPATCH64 FAST_IO_DISPATCH64
The _FAST_IO_DISPATCH structure used by 64-bit guests.
BYTE TagWord
Definition: wddefs.h:1549
Mitigation flags.
Definition: wddefs.h:1759
DWORD DriverStartIo
Definition: wddefs.h:247
DWORD DisableDynamicCode
Definition: wddefs.h:1727
DWORD SessionId
Definition: wddefs.h:845
DWORD Eax
Definition: wddefs.h:963
union _POOL_TRACKER_BIG_PAGES * PPOOL_TRACKER_BIG_PAGES
QWORD MdlWriteCompleteCompressed
Definition: wddefs.h:340
FLOATING_SAVE_AREA FloatSave
Definition: wddefs.h:1686
BYTE PreviousIrql
Definition: wddefs.h:1009
DWORD AtlThunkSListPtr32
Definition: wddefs.h:839
QWORD Sid
Pointer to a _SID structure.
Definition: wddefs.h:592
QWORD EntryPointActivationContext
Definition: wddefs.h:219
BYTE PreviousPreviousMode
Definition: wddefs.h:964
FLOATING_SAVE_AREA * PFLOATING_SAVE_AREA
Definition: wddefs.h:1585
DWORD BlockSize
Definition: wddefs.h:440
struct _POOL_TRACKER_BIG_PAGES32 POOL_TRACKER_BIG_PAGES32
WORD StatusWord
Definition: wddefs.h:1548
UINT16 Fill3
Definition: wddefs.h:1165
DWORD EnableModuleTamperingProtectionNoInherit
Definition: wddefs.h:1748
QWORD PostProcessInitRoutine
32-bit pointer to a PS_POST_PROCESS_INIT_ROUTINE
Definition: wddefs.h:868
UCHAR Logging
Definition: wddefs.h:1159
QWORD SecurityDescriptor
Definition: wddefs.h:396
enum _WIN_SOCK_STATE WIN_SOCK_STATE
The states in which a Windows socket can be in.
QWORD DriverInit
Definition: wddefs.h:269
Models a LIST_ENTRY structure used by 32-bit Windows guests.
Definition: wddefs.h:153
QWORD Rdi
Definition: wddefs.h:1624
WORD Reserved2
Definition: wddefs.h:915
DWORD AuditBlockNonMicrosoftBinaries
Definition: wddefs.h:1743
WORD SegGs
Definition: wddefs.h:1606
WORD Ds
Definition: wddefs.h:920
QWORD _pad0
Definition: wddefs.h:1921
UNICODE_STRING64 Name
Definition: wddefs.h:1449
struct _M128A * PM128A
M128A Xmm0
Definition: wddefs.h:1643
LIST_ENTRY32 InLoadOrderLinks
Definition: wddefs.h:174
UCHAR TypeIndex
Definition: wddefs.h:361
DWORD HardwareSegSs
Definition: wddefs.h:981
QWORD FastIoUnlockSingle
Definition: wddefs.h:324
DWORD Buffer
The guest virtual address at which the wide-character string is located.
Definition: wddefs.h:129
QWORD P5Home
Definition: wddefs.h:1596
QWORD AcquireForModWrite
Definition: wddefs.h:332
DWORD EnableModuleTamperingProtection
Definition: wddefs.h:1747
UNICODE_STRING32 ImagePathName
Definition: wddefs.h:757
QWORD MdlWriteComplete
Definition: wddefs.h:336
DWORD AuditDisableDynamicCode
Definition: wddefs.h:1730
union _POOL_HEADER POOL_HEADER
QWORD FastIoDeviceControl
Definition: wddefs.h:327
DWORD ContextFlags
Definition: wddefs.h:1599
The _FAST_IO_DISPATCH structure used by 32-bit guests.
Definition: wddefs.h:280
struct _LDR_DATA_TABLE_ENTRY64 LDR_DATA_TABLE_ENTRY64
The _LDR_DATA_TABLE_ENTRY structure used by 64-bit guests.
XSAVE_FORMAT * PXMM_SAVE_AREA32
Definition: wddefs.h:1568
DWORD _Reserved1
Definition: wddefs.h:259
Definition: wddefs.h:879
DWORD ReleaseForModWrite
Definition: wddefs.h:307
DWORD Dr7
Definition: wddefs.h:956
DWORD Ecx
Definition: wddefs.h:1697
struct _SID_AND_ATTRIBUTES64 * PSID_AND_ATTRIBUTES64
DWORD _Rserved1
Definition: wddefs.h:142
DWORD HardwareDatabase
Definition: wddefs.h:244
M128A Xmm8
Definition: wddefs.h:1651
DWORD Dr6
Definition: wddefs.h:955
UNICODE_STRING32 DriverPath
Definition: wddefs.h:180
DWORD SegDs
Definition: wddefs.h:960
DWORD PoolIndex
Definition: wddefs.h:439
DWORD ProhibitLowILImageMap
Definition: wddefs.h:1740
UNICODE_STRING64 Name
The object name.
Definition: wddefs.h:1521
struct _POOL_HEADER32 POOL_HEADER32
The _POOL_HEADER structure used by 32-bit guests.
DWORD AuditProhibitRemoteImageMap
Definition: wddefs.h:1739
UINT16 SegEs
Definition: wddefs.h:1115
struct _OBJECT_DIRECTORY_ENTRY32 OBJECT_DIRECTORY_ENTRY32
An OBJECT_DIRECTORY_ENTRY64 structure used by 32-bit guests.
DWORD EntryPointActivationContext
Definition: wddefs.h:190
union _POOL_TRACKER_BIG_PAGES POOL_TRACKER_BIG_PAGES
DWORD TotalNumberOfObjects
Definition: wddefs.h:1475
BYTE Sbz1
Definition: wddefs.h:640
QWORD MessageServiceRoutine
Definition: wddefs.h:1991
DWORD Esi
Definition: wddefs.h:912
DWORD Eip
Definition: wddefs.h:977
DWORD PreviousSize
Definition: wddefs.h:438
QWORD ExceptionRecord
For nested exceptions, will point to the next exception record.
Definition: wddefs.h:1194
UINT16 MaximumLength
The size, in bytes, allocated for Buffer.
Definition: wddefs.h:125
UNICODE_STRING32 Name
Definition: wddefs.h:1472
An OBJECT_DIRECTORY_ENTRY64 structure used by 32-bit guests.
Definition: wddefs.h:1505
DWORD SegGs
Definition: wddefs.h:958
WORD * Buffer
Definition: wddefs.h:110
QWORD Local
Definition: wddefs.h:1920
DWORD MdlReadComplete
Definition: wddefs.h:299
DWORD Ebx
Definition: wddefs.h:1695
QWORD AtlThunkSListPtr
Definition: wddefs.h:860
struct _RTL_USER_PROCESS_PARAMETERS64 * PRTL_USER_PROCESS_PARAMETERS64
QWORD P2Home
Definition: wddefs.h:1593
QWORD LastExceptionFromRip
Definition: wddefs.h:1107
DWORD Flink
Definition: wddefs.h:155
M128A Xmm0
Definition: wddefs.h:1067
UCHAR TraceFlags
Definition: wddefs.h:385
DWORD Ecx
Definition: wddefs.h:962
QWORD ProcessParameters
64-bit pointer to a _RTL_USER_PROCESS_PARAMETERS structure
Definition: wddefs.h:858
An _KEXCEPTION_FRAME structure used by 64-bit guests.
Definition: wddefs.h:1223
QWORD DriverSection
Definition: wddefs.h:264
DWORD DriverSize
Definition: wddefs.h:240
Verifier provider initialization structures for 64-bit processes.
Definition: wddefs.h:1841
DWORD AcquireFileForNtCreateSection
Definition: wddefs.h:293
DWORD HighWaterNumberOfObjects
Definition: wddefs.h:1454
QWORD LastBranchToRip
Definition: wddefs.h:1104
LIST_ENTRY64 TypeList
Definition: wddefs.h:1448
DWORD EFlags
Definition: wddefs.h:1703
DWORD ReleaseForCcFlush
Definition: wddefs.h:309
An access control list.
Definition: wddefs.h:637
QWORD LastBranchToRip
Definition: wddefs.h:1666
WORD SegFs
Definition: wddefs.h:1605
DWORD ProhibitRemoteImageMap
Definition: wddefs.h:1738
struct _KTSS KTSS
struct _ACL ACL
An access control list.
M128A Xmm11
Definition: wddefs.h:1654
_VAD_TYPE
The types of a _MMVAD structure.
Definition: wddefs.h:1323
QWORD QuotaBlockCharged
Definition: wddefs.h:393
Verifier provider initialization structures for 64-bit processes.
Definition: wddefs.h:1870
DWORD Dr6
Definition: wddefs.h:1683
UCHAR TypeIndex
Definition: wddefs.h:384
QWORD Dr2
Definition: wddefs.h:1612
BYTE AceFlags
Definition: wddefs.h:654
Models a LIST_ENTRY structure used by 64-bit Windows guests.
Definition: wddefs.h:162
union _LOCAL_ADDRESS * PLOCAL_ADDRESS
struct _M128A M128A
The Windows UNICODE_STRING structure used for 32-bit guests.
Definition: wddefs.h:120
DWORD EnableFilteredWin32kAPIs
Definition: wddefs.h:1733
DWORD AtlThunkSListPtr32
Definition: wddefs.h:865
DWORD StackRandomizationDisabled
Definition: wddefs.h:1725
WORD Es
Definition: wddefs.h:914
struct _POOL_HEADER64 POOL_HEADER64
The _POOL_HEADER structure used by 64-bit guests.
WORD PoolTagHash
Definition: wddefs.h:455
QWORD Rax
Definition: wddefs.h:1617
DWORD ObjectCreateInfo
Definition: wddefs.h:365
QWORD P1Home
Definition: wddefs.h:1592
QWORD DefaultObject
Definition: wddefs.h:1450
DWORD Ecx
Definition: wddefs.h:907
DWORD MessageServiceRoutine
Definition: wddefs.h:1968
DWORD EnableImportAddressFilter
Definition: wddefs.h:1773
Context Frame for 32-bit guests.
Definition: wddefs.h:1675
struct _PEB32 PEB32
This is the structure as documented in winternl.h.
DWORD DisallowStrippedImages
Definition: wddefs.h:1722
union _WIN_MITIGATION_FLAGS WIN_MITIGATION_FLAGS
Mitigation flags.
struct _LDR_DATA_TABLE_ENTRY32 * PLDR_DATA_TABLE_ENTRY32
DWORD Fill2
Definition: wddefs.h:1162
LIST_ENTRY32 InInitializationOrderLinks
Definition: wddefs.h:176
The _DRIVER_OBJECT structure used by 32-bit guests.
Definition: wddefs.h:233
M128A Xmm12
Definition: wddefs.h:1655
QWORD Rbp
Definition: wddefs.h:1622
DWORD Attributes
A combination of SE_GROUP_* values.
Definition: wddefs.h:593
DWORD AuditDisallowWin32kSystemCalls
Definition: wddefs.h:1732
The _LDR_DATA_TABLE_ENTRY structure used by 64-bit guests.
Definition: wddefs.h:201
DWORD AcquireForModWrite
Definition: wddefs.h:297
QWORD Rip
Definition: wddefs.h:1634
UNICODE_STRING64 ImagePathName
Definition: wddefs.h:768
Definition: wddefs.h:1417
#define WIN_POOL_HEADER_SIZE64
The size of a pool header on 64-bit Windows.
Definition: wddefs.h:467
QWORD R11
Definition: wddefs.h:1628
DWORD _pad1
Definition: wddefs.h:1930
WORD LDT
Definition: wddefs.h:926
M128A Xmm2
Definition: wddefs.h:1645
DWORD Dr1
Definition: wddefs.h:1680
M128A Xmm15
Definition: wddefs.h:1658
UCHAR InfoMask
Definition: wddefs.h:386
struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR_32 RTL_VERIFIER_PROVIDER_DESCRIPTOR_32
Verifier provider initialization structures for 32-bit processes.
union _ADDRINFO ADDRINFO
DWORD Ulong1
Definition: wddefs.h:444
struct _FAST_IO_DISPATCH32 * PFAST_IO_DISPATCH32
STATIC_ASSERT(sizeof(POOL_HEADER32)==WIN_POOL_HEADER_SIZE32, "Wrong size for POOL_HEADER32!")
WORD DataSelector
Definition: wddefs.h:1556
An _OBJECT_TYPE structure used by 32-bit guests.
Definition: wddefs.h:1469
DWORD PostProcessInitRoutine
32-bit pointer to a PS_POST_PROCESS_INIT_ROUTINE
Definition: wddefs.h:842
BYTE BeingDebugged
Definition: wddefs.h:828
An _OBJECT_HEADER_NAME_INFO structure used by 32-bit guests.
Definition: wddefs.h:1528
_KWAIT_REASON
The waiting status of the threads.
Definition: wddefs.h:1365
DWORD NumberParameters
The number of valid entries inside the ExceptionInformation array.
Definition: wddefs.h:1196
WORD AllocatorBackTraceIndex
Definition: wddefs.h:454
struct _LIST_ENTRY64 * PLIST_ENTRY64
struct _RTL_DYNAMIC_HASH_TABLE32 * PRTL_DYNAMIC_HASH_TABLE32
QWORD DebugControl
Definition: wddefs.h:1665
POOL_HEADER64 Header64
Definition: wddefs.h:463
DWORD SecurityDescriptor
Definition: wddefs.h:366
DWORD ExtensionPointDisable
Definition: wddefs.h:1726
DWORD FastIoCheckIfPossible
Definition: wddefs.h:283
struct _KTRAP_FRAME64 * PKTRAP_FRAME64
struct _SID_IDENTIFIER_AUTHORITY SID_IDENTIFIER_AUTHORITY
union _WIN_MITIGATION_FLAGS2 * PWIN_MITIGATION_FLAGS2
DWORD ControlFlowGuardExportSuppressionEnabled
Definition: wddefs.h:1720
DWORD Reserved7
Definition: wddefs.h:837
struct _CONTEXT32 CONTEXT32
Context Frame for 32-bit guests.
DWORD BlockSize
Definition: wddefs.h:411
A _UNICODE_STRING structure as defined by Windows.
Definition: wddefs.h:106
This is the structure as documented in ntddk.h.
Definition: wddefs.h:800
struct _PEB32 * PPEB32
struct _OBJECT_DIRECTORY_ENTRY32 * POBJECT_DIRECTORY_ENTRY32
WORD ErrorOpcode
Definition: wddefs.h:1551
DWORD FastIoQueryBasicInfo
Definition: wddefs.h:286
DWORD ErrorOffset
Definition: wddefs.h:1552
struct _KTRAP_FRAME64 KTRAP_FRAME64
QWORD Flink
Definition: wddefs.h:164
UINT16 SegDs
Definition: wddefs.h:1114
struct _XSAVE_FORMAT * PXSAVE_FORMAT
DWORD Ebx
Definition: wddefs.h:909
UINT16 Length
The length, in bytes, of the string in Buffer, not including the NULL terminator, if any...
Definition: wddefs.h:123
QWORD FastIoQueryStandardInfo
Definition: wddefs.h:322
struct _CONTEXT64 CONTEXT64
Context Frame for 64-bit guests.
unsigned long long QWORD
Definition: intro_types.h:53
SID_IDENTIFIER_AUTHORITY IdentifierAuthority
Definition: wddefs.h:616
QWORD DriverSize
Definition: wddefs.h:263
QWORD FastIoDispatch
Definition: wddefs.h:268
QWORD TimeStampCKCL
Definition: wddefs.h:1083
An _EXCEPTION_RECORD structure used by 64-bit guests.
Definition: wddefs.h:1208
The type of an allocation used by Address Windowing Extension. Ignored by introcore.
Definition: wddefs.h:1331
DWORD SegCs
Definition: wddefs.h:1702
DWORD Dr7
Definition: wddefs.h:1684
DWORD Reserved6
Definition: wddefs.h:836
DWORD Esi
Definition: wddefs.h:1694
QWORD R15
Definition: wddefs.h:1632
QWORD ObjectCreateInfo
Definition: wddefs.h:392
DWORD SegDs
Definition: wddefs.h:1691
QWORD Rsp
Definition: wddefs.h:1621
QWORD Rsi
Definition: wddefs.h:1623
M128A Xmm1
Definition: wddefs.h:1068
WORD Fs
Definition: wddefs.h:922
DWORD PreviousSize
Definition: wddefs.h:409
struct _SID_AND_ATTRIBUTES32 SID_AND_ATTRIBUTES32
DWORD Directory
Pointer to the _OBJECT_DIRECTORY that owns this.
Definition: wddefs.h:1530
DWORD Ebp
Definition: wddefs.h:1700
M128A Xmm5
Definition: wddefs.h:1648
DWORD AuditImportAddressFilter
Definition: wddefs.h:1774
DWORD AuditFilteredWin32kAPIs
Definition: wddefs.h:1734
QWORD FastIoUnlockAll
Definition: wddefs.h:325
WORD Backlink
Definition: wddefs.h:897
struct _KINTERRUPT_COMMON32 * PKINTERRUPT_COMMON32
DWORD DriverStart
Definition: wddefs.h:239
M128A Xmm4
Definition: wddefs.h:1071
M128A Xmm10
Definition: wddefs.h:1653
DWORD SegSs
Definition: wddefs.h:1705
struct _FLOATING_SAVE_AREA FLOATING_SAVE_AREA
Format of data for (F)XSAVE/(F)XRSTOR instruction.
struct _UNICODE_STRING UNICODE_STRING
A _UNICODE_STRING structure as defined by Windows.
QWORD PointerCount
Definition: wddefs.h:375
The type of an allocation that uses large pages.
Definition: wddefs.h:1339
DWORD Reserved8
Definition: wddefs.h:838
QWORD TrapFrame
Definition: wddefs.h:1123
DWORD HighEntropyASLREnabled
Definition: wddefs.h:1724
union _ADDRINFO * PADDRINFO
WORD AclSize
Definition: wddefs.h:641
WORD AceCount
Definition: wddefs.h:642
WORD AceSize
Definition: wddefs.h:655
unsigned char UCHAR
Definition: intro_types.h:55
DWORD Fill4
Definition: wddefs.h:1166
struct _RTL_DYNAMIC_HASH_TABLE64 * PRTL_DYNAMIC_HASH_TABLE64
The common part of nt!_KINTERRUPT on all x86 Windows versions.
Definition: wddefs.h:1961
enum _KTHREAD_STATE KTHREAD_STATE
Thread scheduling states.
DWORD ReleaseFileForNtCreateSection
Definition: wddefs.h:294
struct _EXCEPTION_RECORD64 * PEXCEPTION_RECORD64
QWORD FastIoUnlockAllByKey
Definition: wddefs.h:326
struct _FAST_IO_DISPATCH32 FAST_IO_DISPATCH32
The _FAST_IO_DISPATCH structure used by 32-bit guests.
DWORD TempEsp
Definition: wddefs.h:949
DWORD PoolType
Definition: wddefs.h:412
struct _OBJECT_HEADER32 OBJECT_HEADER32
The _OBJECT_HEADER32 structure used by 32-bit guests.
DWORD Edi
Definition: wddefs.h:913
WORD Reserved8
Definition: wddefs.h:927
The _LDR_DATA_TABLE_ENTRY structure used by 32-bit guests.
Definition: wddefs.h:172
struct _OBJECT_HEADER32 * POBJECT_HEADER32
DWORD V86Es
Definition: wddefs.h:983
struct _RTL_DYNAMIC_HASH_TABLE64 RTL_DYNAMIC_HASH_TABLE64
This is the structure as documented in ntddk.h.
BYTE AceType
Definition: wddefs.h:653
struct _UNICODE_STRING32 UNICODE_STRING32
The Windows UNICODE_STRING structure used for 32-bit guests.
struct _OBJECT_TYPE32 OBJECT_TYPE32
An _OBJECT_TYPE structure used by 32-bit guests.
DWORD AcquireForCcFlush
Definition: wddefs.h:308
QWORD DriverUnload
Definition: wddefs.h:271
struct _DRIVER_OBJECT32 * PDRIVER_OBJECT32
struct _OBJECT_HEADER64 OBJECT_HEADER64
The _OBJECT_HEADER32 structure used by 64-bit guests.
union _WIN_MITIGATION_FLAGS * PWIN_MITIGATION_FLAGS
DWORD DisableDynamicCodeAllowOptOut
Definition: wddefs.h:1728
DWORD NextToFree
Definition: wddefs.h:357
WORD SegSs
Definition: wddefs.h:1607
DWORD PointerCount
Definition: wddefs.h:352
WORD Reserved0
Definition: wddefs.h:898
DWORD ProcessParameters
32-bit pointer to a _RTL_USER_PROCESS_PARAMETERS structure
Definition: wddefs.h:832
DWORD SignatureMitigationOptIn
Definition: wddefs.h:1742
DWORD AuditBlockNonMicrosoftBinariesAllowStore
Definition: wddefs.h:1744
M128A Xmm14
Definition: wddefs.h:1657
QWORD Rbx
Definition: wddefs.h:1620
DWORD ErrCode
Definition: wddefs.h:976
DWORD DbgEip
Definition: wddefs.h:944
An access control entry header.
Definition: wddefs.h:651
XMM_SAVE_AREA32 FltSave
Definition: wddefs.h:1638
QWORD R8
Definition: wddefs.h:1625
struct _XSAVE_FORMAT XSAVE_FORMAT
Format of data for (F)XSAVE/(F)XRSTOR instruction for 32-bit guests.
QWORD Dr7
Definition: wddefs.h:1615
DWORD ReferenceCount
Reference count.
Definition: wddefs.h:1522
struct _SID_AND_ATTRIBUTES32 * PSID_AND_ATTRIBUTES32
struct _OBJECT_NAME32 * POBJECT_NAME32
QWORD R13
Definition: wddefs.h:1630
unsigned long long UINT64
Definition: intro_types.h:40
DWORD PoolTag
Definition: wddefs.h:447
QWORD ExceptionFrame
Definition: wddefs.h:1152
struct _OBJECT_TYPE64 * POBJECT_TYPE64
DWORD Edx
Definition: wddefs.h:1696
UCHAR InfoMask
Definition: wddefs.h:363
DWORD AtlThunkSListPtr
Definition: wddefs.h:834
enum _KWAIT_REASON KWAIT_REASON
The waiting status of the threads.
struct _OBJECT_TYPE32 * POBJECT_TYPE32
DWORD FastIoUnlockAllByKey
Definition: wddefs.h:291
WORD SegEs
Definition: wddefs.h:1604
UCHAR TraceFlags
Definition: wddefs.h:362
The Windows UNICODE_STRING structure used for 64-bit guests.
Definition: wddefs.h:136
DWORD SegEs
Definition: wddefs.h:1690
WORD ControlWord
Definition: wddefs.h:1547
QWORD HandleCount
Definition: wddefs.h:379
DWORD MdlReadCompleteCompressed
Definition: wddefs.h:304
struct _EXCEPTION_RECORD32 EXCEPTION_RECORD32
An _EXCEPTION_RECORD structure used by 64-bit guests.
WORD Reserved6
Definition: wddefs.h:923
QWORD TimeStampKlog
Definition: wddefs.h:1153
struct _SID_AND_ATTRIBUTES64 SID_AND_ATTRIBUTES64
QWORD Ldr
64-bit pointer to a _PEB_LDR_DATA structure
Definition: wddefs.h:857
WORD Reserved1
Definition: wddefs.h:901
uint32_t DWORD
Definition: intro_types.h:49
BYTE Logging
Definition: wddefs.h:947
DWORD DeviceObject
Definition: wddefs.h:237
DWORD Ldr
32-bit pointer to a _PEB_LDR_DATA structure
Definition: wddefs.h:831
DWORD PreferSystem32Images
Definition: wddefs.h:1737
DWORD PoolIndex
Definition: wddefs.h:410
LIST_ENTRY32 TypeList
Definition: wddefs.h:1471
QWORD Dr1
Definition: wddefs.h:1611
None. Normal allocations have this type.
Definition: wddefs.h:1325
M128A Xmm7
Definition: wddefs.h:1650
struct _OBJECT_DIRECTORY_ENTRY64 * POBJECT_DIRECTORY_ENTRY64
QWORD AcquireForCcFlush
Definition: wddefs.h:343
DWORD V86Fs
Definition: wddefs.h:985
DWORD Reserved6
Definition: wddefs.h:862
union _LOCAL_ADDRESS LOCAL_ADDRESS
QWORD FastIoQueryBasicInfo
Definition: wddefs.h:321
#define WIN_POOL_HEADER_SIZE32
The size of a pool header on 32-bit Windows.
Definition: wddefs.h:466
struct _SID SID
struct _LDR_DATA_TABLE_ENTRY32 LDR_DATA_TABLE_ENTRY32
The _LDR_DATA_TABLE_ENTRY structure used by 32-bit guests.
DWORD SizeOfFastIoDispatch
Definition: wddefs.h:282
Verifier provider initialization structures for 32-bit processes.
Definition: wddefs.h:1830
QWORD MdlReadComplete
Definition: wddefs.h:334
M128A Xmm4
Definition: wddefs.h:1647
DWORD Edx
Definition: wddefs.h:908
WORD MaximumLength
The size, in bytes, allocated for Buffer.
Definition: wddefs.h:141
struct _SID * PSID
QWORD ErrorCode
Definition: wddefs.h:1151
DWORD AuditNonSystemFontLoading
Definition: wddefs.h:1736
DWORD DisableNonSystemFonts
Definition: wddefs.h:1735
_POOL_TYPE
The type of a pool allocation.
Definition: wddefs.h:488
WORD SegDs
Definition: wddefs.h:1603
DWORD AuditExportAddressFilter
Definition: wddefs.h:1764
QWORD Dr0
Definition: wddefs.h:1610
DWORD LoaderIntegrityContinuityEnabled
Definition: wddefs.h:1745
struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR_64 RTL_VERIFIER_PROVIDER_DESCRIPTOR_64
Verifier provider initialization structures for 64-bit processes.
DWORD Dr2
Definition: wddefs.h:953
DWORD EnableRopCallerCheck
Definition: wddefs.h:1769
DWORD ForceRelocateImages
Definition: wddefs.h:1723
QWORD * SubAuthority
Definition: wddefs.h:617
LIST_ENTRY64 InMemoryOrderLinks
Definition: wddefs.h:204
DWORD HighWaterNumberOfHandles
Definition: wddefs.h:1478
DWORD MxCsr
Definition: wddefs.h:1558
QWORD Directory
Pointer to the _OBJECT_DIRECTORY that owns this.
Definition: wddefs.h:1520
UCHAR Revision
Definition: wddefs.h:614
Definition: wddefs.h:612
UNICODE_STRING64 DriverPath
Definition: wddefs.h:209
DWORD V86Gs
Definition: wddefs.h:986
The _OBJECT_HEADER32 structure used by 64-bit guests.
Definition: wddefs.h:373
DWORD InterruptListEntryFlink
Definition: wddefs.h:1965
struct _LIST_ENTRY32 LIST_ENTRY32
Models a LIST_ENTRY structure used by 32-bit Windows guests.
UNICODE_STRING32 DriverName
Definition: wddefs.h:181
Definition: wddefs.h:895
UNICODE_STRING64 CommandLine
Definition: wddefs.h:769
SECURITY_DESCRIPTOR_CONTROL Control
Definition: wddefs.h:626
struct _KINTERRUPT_COMMON64 * PKINTERRUPT_COMMON64
struct _PEB64 PEB64
This is the structure as documented in winternl.h.
QWORD ReleaseFileForNtCreateSection
Definition: wddefs.h:329
struct _OBJECT_TYPE64 OBJECT_TYPE64
An _OBJECT_TYPE structure used by 64-bit guests.
The _FAST_IO_DISPATCH structure used by 64-bit guests.
Definition: wddefs.h:315
QWORD DeviceObject
Definition: wddefs.h:260
DWORD Eax
Definition: wddefs.h:906
UINT16 MaximumLength
Definition: wddefs.h:109
DWORD Reserved8
Definition: wddefs.h:864
UCHAR FaultIndicator
Definition: wddefs.h:1015
DWORD __unusedAlignment
Definition: wddefs.h:1197
WORD Cs
Definition: wddefs.h:916
struct _KEXCEPTION_FRAME64 * PKEXCEPTION_FRAME64
struct _RTL_USER_PROCESS_PARAMETERS32 * PRTL_USER_PROCESS_PARAMETERS32
union _POOL_HEADER * PPOOL_HEADER
This is the structure as documented in winternl.h.
Definition: wddefs.h:753
WORD ErrorSelector
Definition: wddefs.h:1553
DWORD ExceptionAddress
Definition: wddefs.h:1213
DWORD Remote
Definition: wddefs.h:1931
DWORD Dr3
Definition: wddefs.h:954
BYTE EntropyQueueDpc
Definition: wddefs.h:965
enum _POOL_TYPE POOL_TYPE
The type of a pool allocation.
QWORD Dr3
Definition: wddefs.h:1613
DWORD DbgArgMark
Definition: wddefs.h:945
DWORD TotalNumberOfHandles
Definition: wddefs.h:1453
DWORD Eip
Definition: wddefs.h:1701
DWORD SessionId
Definition: wddefs.h:871
enum _VAD_TYPE VAD_TYPE
The types of a _MMVAD structure.
struct _DRIVER_OBJECT64 * PDRIVER_OBJECT64
DWORD Object
Pointer to the object, may be NULL.
Definition: wddefs.h:1508
struct _RTL_VERIFIER_DLL_DESCRIPTOR_64 RTL_VERIFIER_DLL_DESCRIPTOR_64
Verifier provider initialization structures for 64-bit processes.
QWORD InterruptListEntryFlink
Definition: wddefs.h:1988
struct _RTL_VERIFIER_DLL_DESCRIPTOR_32 * PRTL_VERIFIER_DLL_DESCRIPTOR_32
DWORD DataOffset
Definition: wddefs.h:1555
BYTE PreviousMode
Definition: wddefs.h:1008
QWORD LastExceptionFromRip
Definition: wddefs.h:1669
DWORD DriverExtension
Definition: wddefs.h:242
UINT16 Length
Definition: wddefs.h:108
DWORD Ebp
Definition: wddefs.h:911
An _OBJECT_HEADER_NAME_INFO structure used by 64-bit guests.
Definition: wddefs.h:1518
UNICODE_STRING32 CommandLine
Definition: wddefs.h:758
UINT16 SegFs
Definition: wddefs.h:1116
Verifier provider initialization structures for 32-bit processes.
Definition: wddefs.h:1852
UNICODE_STRING64 DriverName
Definition: wddefs.h:210
enum _ACE_TYPE ACE_TYPE
Access Control Entry type - ntifs.h.
QWORD FastIoQueryOpen
Definition: wddefs.h:341
DWORD Local
Definition: wddefs.h:1929
DWORD EFlags
Definition: wddefs.h:1161
struct _PEB64 * PPEB64
M128A Xmm2
Definition: wddefs.h:1069
DWORD Dr0
Definition: wddefs.h:1679
struct _RTL_USER_PROCESS_PARAMETERS64 RTL_USER_PROCESS_PARAMETERS64
This is the structure as documented in winternl.h.
DWORD ControlFlowGuardEnabled
Definition: wddefs.h:1719
BYTE AclRevision
Definition: wddefs.h:639
WORD SegCs
Definition: wddefs.h:1602
The type of an allocation that specified the MEM_WRITE_WATCH VirtualAlloc flag.
Definition: wddefs.h:1335
DWORD Edi
Definition: wddefs.h:971
BYTE BeingDebugged
Definition: wddefs.h:854
uint16_t UINT16
Definition: intro_types.h:38
DWORD MxCsr
Definition: wddefs.h:1031
DWORD PrepareMdlWrite
Definition: wddefs.h:300
QWORD FastIoQueryNetworkOpenInfo
Definition: wddefs.h:331
QWORD VectorControl
Definition: wddefs.h:1663
WORD Length
The length, in bytes, of the string in Buffer, not including the NULL terminator, if any...
Definition: wddefs.h:139
struct _RTL_DYNAMIC_HASH_TABLE32 RTL_DYNAMIC_HASH_TABLE32
This is the structure as documented in ntddk.h.
DWORD Dr1
Definition: wddefs.h:952
QWORD DriverStartIo
Definition: wddefs.h:270
DWORD DriverInit
Definition: wddefs.h:246
UINT16 SegSs
Definition: wddefs.h:1164
DWORD MxCsr_Mask
Definition: wddefs.h:1559
M128A Xmm9
Definition: wddefs.h:1652
M128A Xmm5
Definition: wddefs.h:1072
M128A Xmm1
Definition: wddefs.h:1644
DWORD FastIoWriteCompressed
Definition: wddefs.h:303
QWORD InAddr
Definition: wddefs.h:1954
QWORD R14
Definition: wddefs.h:1631
QWORD P3Home
Definition: wddefs.h:1594
The common part of nt!_KINTERRUPT on all x64 Windows versions.
Definition: wddefs.h:1984
DWORD Edi
Definition: wddefs.h:1693
An OBJECT_DIRECTORY_ENTRY64 structure used by 64-bit guests.
Definition: wddefs.h:1492
struct _KINTERRUPT_COMMON32 KINTERRUPT_COMMON32
The common part of nt!_KINTERRUPT on all x86 Windows versions.
DWORD DriverUnload
Definition: wddefs.h:248
DWORD Attributes
A combination of SE_GROUP_* values.
Definition: wddefs.h:602
DWORD Esp
Definition: wddefs.h:910
DWORD Esi
Definition: wddefs.h:972
An _OBJECT_TYPE structure used by 64-bit guests.
Definition: wddefs.h:1446
DWORD Esp0
Definition: wddefs.h:899
DWORD Dr0
Definition: wddefs.h:951
WORD Gs
Definition: wddefs.h:924
DWORD ExceptionFlags
Definition: wddefs.h:1192
QWORD ReleaseForCcFlush
Definition: wddefs.h:344
WORD PoolTagHash
Definition: wddefs.h:424
DWORD V86Ds
Definition: wddefs.h:984
This is the structure as documented in winternl.h.
Definition: wddefs.h:851
DWORD ExceptionRecord
Definition: wddefs.h:1212
QWORD R10
Definition: wddefs.h:1627
DWORD Dr3
Definition: wddefs.h:1682
UINT16 SegCs
Definition: wddefs.h:1157
#define MAXIMUM_SUPPORTED_EXTENSION
Definition: wddefs.h:1540
DWORD FastIoDispatch
Definition: wddefs.h:245
struct _LIST_ENTRY64 LIST_ENTRY64
Models a LIST_ENTRY structure used by 64-bit Windows guests.
DWORD ExceptionFlags
Definition: wddefs.h:1211
LIST_ENTRY32 HashLinks
Definition: wddefs.h:185
UINT16 SegGs
Definition: wddefs.h:1117
struct _DRIVER_OBJECT64 DRIVER_OBJECT64
The _DRIVER_OBJECT structure used by 64-bit guests.
UNICODE_STRING32 DriverName
Definition: wddefs.h:243
QWORD Reserved5
Definition: wddefs.h:861
POWER_ACTION
The _POWER_ACTION enum values used by the Windows kernel.
Definition: wddefs.h:1802
#define EXCEPTION_MAXIMUM_PARAMETERS
Definition: wddefs.h:1180
DWORD HighWaterNumberOfObjects
Definition: wddefs.h:1477
DWORD EFlags
Definition: wddefs.h:1608
struct _SECURITY_DESCRIPTOR * PSECURITY_DESCRIPTOR
The _OBJECT_HEADER32 structure used by 32-bit guests.
Definition: wddefs.h:350
DWORD FastIoQueryOpen
Definition: wddefs.h:306
struct _KI_IO_ACCESS_MAP * PKI_IO_ACCESS_MAP
M128A Xmm3
Definition: wddefs.h:1646
enum _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL
QWORD ContextRecord
Definition: wddefs.h:1082
DWORD SegGs
Definition: wddefs.h:1688
LIST_ENTRY64 InInitializationOrderLinks
Definition: wddefs.h:205
M128A Xmm3
Definition: wddefs.h:1070
DWORD FastIoUnlockAll
Definition: wddefs.h:290
Context Frame for 64-bit guests.
Definition: wddefs.h:1590
UNICODE_STRING32 Name
The object name.
Definition: wddefs.h:1531
DWORD Dr2
Definition: wddefs.h:1681
struct _OBJECT_NAME64 OBJECT_NAME64
An _OBJECT_HEADER_NAME_INFO structure used by 64-bit guests.
This is the structure as documented in winternl.h.
Definition: wddefs.h:764
DWORD Chain
Gva to the next _OBJECT_DIRECTORY_ENTRY, may be NULL.
Definition: wddefs.h:1507
DWORD Esp
Definition: wddefs.h:1704
DWORD FastIoQueryStandardInfo
Definition: wddefs.h:287
QWORD InterruptListEntryBlink
Definition: wddefs.h:1989
DWORD FastIoDeviceControl
Definition: wddefs.h:292
struct _OBJECT_NAME64 * POBJECT_NAME64
DWORD MxCsr
Definition: wddefs.h:1600
The _POOL_HEADER structure used by 64-bit guests.
Definition: wddefs.h:432
DWORD CR3
Definition: wddefs.h:903
QWORD Remote
Definition: wddefs.h:1922
DWORD Eip
Definition: wddefs.h:904
struct _ACL * PACL
DWORD MdlWriteComplete
Definition: wddefs.h:301
UNICODE_STRING64 DriverName
Definition: wddefs.h:266
DWORD AuditProhibitLowILImageMap
Definition: wddefs.h:1741
An _EXCEPTION_RECORD structure used by 64-bit guests.
Definition: wddefs.h:1188
struct _EXCEPTION_RECORD32 * PEXCEPTION_RECORD32
QWORD ReleaseForModWrite
Definition: wddefs.h:342
QWORD DriverExtension
Definition: wddefs.h:265
QWORD LastExceptionToRip
Definition: wddefs.h:1668
struct _KINTERRUPT_COMMON64 KINTERRUPT_COMMON64
The common part of nt!_KINTERRUPT on all x64 Windows versions.
struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR_32 * PRTL_VERIFIER_PROVIDER_DESCRIPTOR_32
QWORD DriverStart
Definition: wddefs.h:262
struct _OBJECT_DIRECTORY_ENTRY64 OBJECT_DIRECTORY_ENTRY64
An OBJECT_DIRECTORY_ENTRY64 structure used by 64-bit guests.
QWORD PrepareMdlWrite
Definition: wddefs.h:335
WORD Sbz2
Definition: wddefs.h:643
struct _POOL_TRACKER_BIG_PAGES64 POOL_TRACKER_BIG_PAGES64
Format of data for (F)XSAVE/(F)XRSTOR instruction.
Definition: wddefs.h:1573
WORD Reserved2
Definition: wddefs.h:1554
UINT64 Low
Definition: wddefs.h:881
WORD IoMapBase
Definition: wddefs.h:929
INT64 High
Definition: wddefs.h:882
DWORD FastIoDetachDevice
Definition: wddefs.h:295
QWORD LastBranchFromRip
Definition: wddefs.h:1105
DWORD Ebx
Definition: wddefs.h:973
BYTE Reserved1
Definition: wddefs.h:1550
DWORD InterruptListEntryBlink
Definition: wddefs.h:1966
_ACE_TYPE
Access Control Entry type - ntifs.h.
Definition: wddefs.h:661
DWORD MdlWriteCompleteCompressed
Definition: wddefs.h:305
UCHAR Fill0
Definition: wddefs.h:1158
struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR_64 * PRTL_VERIFIER_PROVIDER_DESCRIPTOR_64
struct _KEXCEPTION_FRAME64 KEXCEPTION_FRAME64
An _KEXCEPTION_FRAME structure used by 64-bit guests.
Mitigation flags.
Definition: wddefs.h:1715
QWORD FaultAddress
Definition: wddefs.h:1081