@@ -112,7 +112,10 @@
#define DbgKdFillMemoryApi 0x0000315b
#define DbgKdQueryMemoryApi 0x0000315c
#define DbgKdSwitchPartition 0x0000315d
-#define DbgKdMaximumManipulate 0x0000315e
+#define DbgKdWriteCustomBreakpointApi 0x0000315e
+#define DbgKdGetContextExApi 0x0000315f
+#define DbgKdSetContextExApi 0x00003160
+#define DbgKdMaximumManipulate 0x00003161
/*
* Debug I/O Types
@@ -723,6 +726,20 @@ typedef struct _DBGKD_SWITCH_PARTITION {
uint32_t Partition;
} DBGKD_SWITCH_PARTITION;
+typedef struct _DBGKD_CONTEXT_EX {
+ uint32_t Offset;
+ uint32_t ByteCount;
+ uint32_t BytesCopied;
+} DBGKD_CONTEXT_EX, *PDBGKD_CONTEXT_EX;
+
+typedef struct _DBGKD_WRITE_CUSTOM_BREAKPOINT {
+ uint64_t BreakPointAddress;
+ uint64_t BreakPointInstruction;
+ uint32_t BreakPointHandle;
+ uint16_t BreakPointInstructionSize;
+ uint16_t BreakPointInstructionAlignment;
+} DBGKD_WRITE_CUSTOM_BREAKPOINT, *PDBGKD_WRITE_CUSTOM_BREAKPOINT;
+
/*
* DBGKD Structure for Manipulate
*/
@@ -787,6 +804,8 @@ typedef struct _DBGKD_MANIPULATE_STATE64 {
DBGKD_FILL_MEMORY FillMemory;
DBGKD_QUERY_MEMORY QueryMemory;
DBGKD_SWITCH_PARTITION SwitchPartition;
+ DBGKD_WRITE_CUSTOM_BREAKPOINT WriteCustomBreakpoint;
+ DBGKD_CONTEXT_EX ContextEx;
} u;
} DBGKD_MANIPULATE_STATE64, *PDBGKD_MANIPULATE_STATE64;