ReactOS  r75619
windbgkd.h
Go to the documentation of this file.
1 #ifndef _WINDBGKD_
2 #define _WINDBGKD_
3 
4 //
5 // Dependencies
6 //
7 #include "wdbgexts.h"
8 
9 //
10 // Conversion Macros
11 //
12 #define COPYSE(p64, p32, f) \
13  p64->f = (ULONG64)(LONG64)(LONG)p32->f
14 
15 //
16 // Packet Size and Control Stream Size
17 //
18 #define PACKET_MAX_SIZE 4000
19 #define DBGKD_MAXSTREAM 16
20 
21 //
22 // Magic Packet IDs
23 //
24 #define INITIAL_PACKET_ID 0x80800000
25 #define SYNC_PACKET_ID 0x00000800
26 
27 //
28 // Magic Packet bytes
29 //
30 #define BREAKIN_PACKET 0x62626262
31 #define BREAKIN_PACKET_BYTE 0x62
32 #define PACKET_LEADER 0x30303030
33 #define PACKET_LEADER_BYTE 0x30
34 #define CONTROL_PACKET_LEADER 0x69696969
35 #define CONTROL_PACKET_LEADER_BYTE 0x69
36 #define PACKET_TRAILING_BYTE 0xAA
37 
38 //
39 // Packet Types
40 //
41 #define PACKET_TYPE_UNUSED 0
42 #define PACKET_TYPE_KD_STATE_CHANGE32 1
43 #define PACKET_TYPE_KD_STATE_MANIPULATE 2
44 #define PACKET_TYPE_KD_DEBUG_IO 3
45 #define PACKET_TYPE_KD_ACKNOWLEDGE 4
46 #define PACKET_TYPE_KD_RESEND 5
47 #define PACKET_TYPE_KD_RESET 6
48 #define PACKET_TYPE_KD_STATE_CHANGE64 7
49 #define PACKET_TYPE_KD_POLL_BREAKIN 8
50 #define PACKET_TYPE_KD_TRACE_IO 9
51 #define PACKET_TYPE_KD_CONTROL_REQUEST 10
52 #define PACKET_TYPE_KD_FILE_IO 11
53 #define PACKET_TYPE_MAX 12
54 
55 //
56 // Wait State Change Types
57 //
58 #define DbgKdMinimumStateChange 0x00003030
59 #define DbgKdExceptionStateChange 0x00003030
60 #define DbgKdLoadSymbolsStateChange 0x00003031
61 #define DbgKdCommandStringStateChange 0x00003032
62 #define DbgKdMaximumStateChange 0x00003033
63 
64 //
65 // This is combined with the basic state change code
66 // if the state is from an alternate source
67 //
68 #define DbgKdAlternateStateChange 0x00010000
69 
70 //
71 // Manipulate Types
72 //
73 #define DbgKdMinimumManipulate 0x00003130
74 #define DbgKdReadVirtualMemoryApi 0x00003130
75 #define DbgKdWriteVirtualMemoryApi 0x00003131
76 #define DbgKdGetContextApi 0x00003132
77 #define DbgKdSetContextApi 0x00003133
78 #define DbgKdWriteBreakPointApi 0x00003134
79 #define DbgKdRestoreBreakPointApi 0x00003135
80 #define DbgKdContinueApi 0x00003136
81 #define DbgKdReadControlSpaceApi 0x00003137
82 #define DbgKdWriteControlSpaceApi 0x00003138
83 #define DbgKdReadIoSpaceApi 0x00003139
84 #define DbgKdWriteIoSpaceApi 0x0000313A
85 #define DbgKdRebootApi 0x0000313B
86 #define DbgKdContinueApi2 0x0000313C
87 #define DbgKdReadPhysicalMemoryApi 0x0000313D
88 #define DbgKdWritePhysicalMemoryApi 0x0000313E
89 #define DbgKdQuerySpecialCallsApi 0x0000313F
90 #define DbgKdSetSpecialCallApi 0x00003140
91 #define DbgKdClearSpecialCallsApi 0x00003141
92 #define DbgKdSetInternalBreakPointApi 0x00003142
93 #define DbgKdGetInternalBreakPointApi 0x00003143
94 #define DbgKdReadIoSpaceExtendedApi 0x00003144
95 #define DbgKdWriteIoSpaceExtendedApi 0x00003145
96 #define DbgKdGetVersionApi 0x00003146
97 #define DbgKdWriteBreakPointExApi 0x00003147
98 #define DbgKdRestoreBreakPointExApi 0x00003148
99 #define DbgKdCauseBugCheckApi 0x00003149
100 #define DbgKdSwitchProcessor 0x00003150
101 #define DbgKdPageInApi 0x00003151
102 #define DbgKdReadMachineSpecificRegister 0x00003152
103 #define DbgKdWriteMachineSpecificRegister 0x00003153
104 #define OldVlm1 0x00003154
105 #define OldVlm2 0x00003155
106 #define DbgKdSearchMemoryApi 0x00003156
107 #define DbgKdGetBusDataApi 0x00003157
108 #define DbgKdSetBusDataApi 0x00003158
109 #define DbgKdCheckLowMemoryApi 0x00003159
110 #define DbgKdClearAllInternalBreakpointsApi 0x0000315A
111 #define DbgKdFillMemoryApi 0x0000315B
112 #define DbgKdQueryMemoryApi 0x0000315C
113 #define DbgKdSwitchPartition 0x0000315D
114 #define DbgKdWriteCustomBreakpointApi 0x0000315E
115 #define DbgKdGetContextExApi 0x0000315F
116 #define DbgKdSetContextExApi 0x00003160
117 #define DbgKdMaximumManipulate 0x00003161
118 
119 //
120 // Debug I/O Types
121 //
122 #define DbgKdPrintStringApi 0x00003230
123 #define DbgKdGetStringApi 0x00003231
124 
125 //
126 // Trace I/O Types
127 //
128 #define DbgKdPrintTraceApi 0x00003330
129 
130 //
131 // Control Request Types
132 //
133 #define DbgKdRequestHardwareBp 0x00004300
134 #define DbgKdReleaseHardwareBp 0x00004301
135 
136 //
137 // File I/O Types
138 //
139 #define DbgKdCreateFileApi 0x00003430
140 #define DbgKdReadFileApi 0x00003431
141 #define DbgKdWriteFileApi 0x00003432
142 #define DbgKdCloseFileApi 0x00003433
143 
144 //
145 // Control Report Flags
146 //
147 #define REPORT_INCLUDES_SEGS 0x0001
148 #define REPORT_STANDARD_CS 0x0002
149 
150 //
151 // Protocol Versions
152 //
153 #define DBGKD_64BIT_PROTOCOL_VERSION1 5
154 #define DBGKD_64BIT_PROTOCOL_VERSION2 6
155 
156 //
157 // Query Memory Address Spaces
158 //
159 #define DBGKD_QUERY_MEMORY_VIRTUAL 0
160 #define DBGKD_QUERY_MEMORY_PROCESS 0
161 #define DBGKD_QUERY_MEMORY_SESSION 1
162 #define DBGKD_QUERY_MEMORY_KERNEL 2
163 
164 //
165 // Query Memory Flags
166 //
167 #define DBGKD_QUERY_MEMORY_READ 0x01
168 #define DBGKD_QUERY_MEMORY_WRITE 0x02
169 #define DBGKD_QUERY_MEMORY_EXECUTE 0x04
170 #define DBGKD_QUERY_MEMORY_FIXED 0x08
171 
172 //
173 // Internal Breakpoint Flags
174 //
175 #define DBGKD_INTERNAL_BP_FLAG_COUNTONLY 0x01
176 #define DBGKD_INTERNAL_BP_FLAG_INVALID 0x02
177 #define DBGKD_INTERNAL_BP_FLAG_SUSPENDED 0x04
178 #define DBGKD_INTERNAL_BP_FLAG_DYING 0x08
179 
180 //
181 // Fill Memory Flags
182 //
183 #define DBGKD_FILL_MEMORY_VIRTUAL 0x01
184 #define DBGKD_FILL_MEMORY_PHYSICAL 0x02
185 
186 //
187 // Physical Memory Caching Flags
188 //
189 #define DBGKD_CACHING_DEFAULT 0
190 #define DBGKD_CACHING_CACHED 1
191 #define DBGKD_CACHING_UNCACHED 2
192 #define DBGKD_CACHING_WRITE_COMBINED 3
193 
194 //
195 // Partition Switch Flags
196 //
197 #define DBGKD_PARTITION_DEFAULT 0x00
198 #define DBGKD_PARTITION_ALTERNATE 0x01
199 
200 //
201 // AMD64 Control Space types
202 //
203 #define AMD64_DEBUG_CONTROL_SPACE_KPCR 0
204 #define AMD64_DEBUG_CONTROL_SPACE_KPRCB 1
205 #define AMD64_DEBUG_CONTROL_SPACE_KSPECIAL 2
206 #define AMD64_DEBUG_CONTROL_SPACE_KTHREAD 3
207 
208 
209 //
210 // KD Packet Structure
211 //
212 typedef struct _KD_PACKET
213 {
220 
221 //
222 // KD Context
223 //
224 typedef struct _KD_CONTEXT
225 {
229 
230 //
231 // Control Sets for Supported Architectures
232 //
233 #include <pshpack4.h>
235 {
241 
243 {
246 
248 {
253 
255 {
261 
263 {
268 
270 {
271  union
272  {
278  };
280 #include <poppack.h>
281 
282 #if defined(_M_IX86)
283 typedef X86_DBGKD_CONTROL_SET DBGKD_CONTROL_SET, *PDBGKD_CONTROL_SET;
284 #elif defined(_M_AMD64)
285 typedef AMD64_DBGKD_CONTROL_SET DBGKD_CONTROL_SET, *PDBGKD_CONTROL_SET;
286 #elif defined(_M_ARM)
287 typedef ARM_DBGKD_CONTROL_SET DBGKD_CONTROL_SET, *PDBGKD_CONTROL_SET;
288 #else
289 #error Unsupported Architecture
290 #endif
291 
292 //
293 // DBGKM Structure for Exceptions
294 //
295 typedef struct _DBGKM_EXCEPTION32
296 {
300 
301 typedef struct _DBGKM_EXCEPTION64
302 {
306 
307 //
308 // DBGKD Structure for State Change
309 //
311 {
323 
325 {
329 
331 {
335 
337 {
349 
351 {
356 
358 {
359  union
360  {
366  };
368 
369 #if defined(_M_IX86)
370 typedef X86_DBGKD_CONTROL_REPORT DBGKD_CONTROL_REPORT, *PDBGKD_CONTROL_REPORT;
371 #elif defined(_M_AMD64)
372 typedef AMD64_DBGKD_CONTROL_REPORT DBGKD_CONTROL_REPORT, *PDBGKD_CONTROL_REPORT;
373 #elif defined(_M_ARM)
374 typedef ARM_DBGKD_CONTROL_REPORT DBGKD_CONTROL_REPORT, *PDBGKD_CONTROL_REPORT;
375 #else
376 #error Unsupported Architecture
377 #endif
378 
379 //
380 // DBGKD Structure for Debug I/O Type Print String
381 //
382 typedef struct _DBGKD_PRINT_STRING
383 {
386 
387 //
388 // DBGKD Structure for Debug I/O Type Get String
389 //
390 typedef struct _DBGKD_GET_STRING
391 {
395 
396 //
397 // DBGKD Structure for Debug I/O
398 //
399 typedef struct _DBGKD_DEBUG_IO
400 {
404  union
405  {
408  } u;
410 
411 //
412 // DBGkD Structure for Command String
413 //
414 typedef struct _DBGKD_COMMAND_STRING
415 {
420 
421 //
422 // DBGKD Structure for Load Symbols
423 //
424 typedef struct _DBGKD_LOAD_SYMBOLS32
425 {
433 
434 typedef struct _DBGKD_LOAD_SYMBOLS64
435 {
443 
444 //
445 // DBGKD Structure for Wait State Change
446 //
447 
449 {
456  union
457  {
460  } u;
462 
464 {
471  union
472  {
475  } u;
477 
479 {
486  union
487  {
491  } u;
492  union
493  {
494  DBGKD_CONTROL_REPORT ControlReport;
496  };
498 
499 //
500 // DBGKD Manipulate Structures
501 //
502 typedef struct _DBGKD_READ_MEMORY32
503 {
508 
509 typedef struct _DBGKD_READ_MEMORY64
510 {
515 
516 typedef struct _DBGKD_WRITE_MEMORY32
517 {
522 
523 typedef struct _DBGKD_WRITE_MEMORY64
524 {
529 
530 typedef struct _DBGKD_GET_CONTEXT
531 {
534 
535 typedef struct _DBGKD_SET_CONTEXT
536 {
539 
541 {
545 
547 {
551 
553 {
556 
557 typedef struct _DBGKD_CONTINUE
558 {
561 
562 #include <pshpack4.h>
563 typedef struct _DBGKD_CONTINUE2
564 {
566  union
567  {
568  DBGKD_CONTROL_SET ControlSet;
570  };
572 #include <poppack.h>
573 
575 {
580 
582 {
587 
589 {
597 
599 {
607 
608 typedef struct _DBGKD_READ_WRITE_MSR
609 {
614 
616 {
619 
621 {
624 
626 {
629 
631 {
635 
637 {
641 
643 {
652 
654 {
663 
664 typedef struct _DBGKD_BREAKPOINTEX
665 {
669 
670 typedef struct _DBGKD_SEARCH_MEMORY
671 {
672  union
673  {
676  };
680 
682 {
689 
690 typedef struct _DBGKD_FILL_MEMORY
691 {
697 
698 typedef struct _DBGKD_QUERY_MEMORY
699 {
705 
707 {
710 
711 typedef struct _DBGKD_CONTEXT_EX
712 {
717 
719 {
726 
727 //
728 // DBGKD Structure for Manipulate
729 //
731 {
736  union
737  {
762  } u;
764 
766 {
771  union
772  {
797  } u;
799 
800 //
801 // File I/O Structure
802 //
803 typedef struct _DBGKD_CREATE_FILE
804 {
813 
814 typedef struct _DBGKD_READ_FILE
815 {
820 
821 typedef struct _DBGKD_WRITE_FILE
822 {
827 
828 typedef struct _DBGKD_CLOSE_FILE
829 {
832 
833 typedef struct _DBGKD_FILE_IO
834 {
837  union
838  {
844  } u;
846 
847 
848 //
849 // Control Request Structure
850 //
852 {
856 
858 {
862 
864 {
866  union
867  {
870  } u;
872 
873 //
874 // Trace I/O Structure
875 //
876 typedef struct _DBGKD_PRINT_TRACE
877 {
880 
881 typedef struct _DBGKD_TRACE_IO
882 {
886  union
887  {
890  } u;
892 
893 static
894 __inline
895 VOID
896 NTAPI
899 {
900  ULONG i;
901 
902  Ex64->ExceptionCode = Ex32->ExceptionCode;
903  Ex64->ExceptionFlags = Ex32->ExceptionFlags;
904  Ex64->ExceptionRecord = Ex32->ExceptionRecord;
905  COPYSE(Ex64,Ex32,ExceptionAddress);
906  Ex64->NumberParameters = Ex32->NumberParameters;
907 
908  for (i = 0; i < EXCEPTION_MAXIMUM_PARAMETERS; i++)
909  {
910  COPYSE(Ex64,Ex32,ExceptionInformation[i]);
911  }
912 }
913 
914 #endif
struct _DBGKD_READ_WRITE_IO32 DBGKD_READ_WRITE_IO32
UCHAR InstructionStream[DBGKD_MAXSTREAM]
Definition: windbgkd.h:333
DBGKD_CLOSE_FILE CloseFile
Definition: windbgkd.h:843
struct _X86_DBGKD_CONTROL_SET * PX86_DBGKD_CONTROL_SET
struct _DBGKD_GET_INTERNAL_BREAKPOINT64 * PDBGKD_GET_INTERNAL_BREAKPOINT64
DBGKD_WRITE_BREAKPOINT32 WriteBreakPoint
Definition: windbgkd.h:744
struct _DBGKD_RESTORE_BREAKPOINT * PDBGKD_RESTORE_BREAKPOINT
struct _DBGKD_CLOSE_FILE DBGKD_CLOSE_FILE
struct _DBGKD_REQUEST_BREAKPOINT * PDBGKD_REQUEST_BREAKPOINT
struct _DBGKD_FILL_MEMORY DBGKD_FILL_MEMORY
DBGKD_CONTROL_REPORT ControlReport
Definition: windbgkd.h:494
struct _DBGKD_WRITE_BREAKPOINT32 * PDBGKD_WRITE_BREAKPOINT32
ULONG64 ReserveSpace[7]
Definition: windbgkd.h:888
DBGKD_REQUEST_BREAKPOINT RequestBreakpoint
Definition: windbgkd.h:868
ALPHA_DBGKD_CONTROL_REPORT AlphaControlReport
Definition: windbgkd.h:362
ULONG LengthOfStringRead
Definition: windbgkd.h:393
#define IN
Definition: typedefs.h:39
struct _DBGKD_ANY_WAIT_STATE_CHANGE * PDBGKD_ANY_WAIT_STATE_CHANGE
DBGKD_CONTINUE Continue
Definition: windbgkd.h:779
DBGKD_GET_CONTEXT GetContext
Definition: windbgkd.h:775
struct _DBGKD_SET_SPECIAL_CALL64 DBGKD_SET_SPECIAL_CALL64
struct _DBGKD_CONTROL_REQUEST * PDBGKD_CONTROL_REQUEST
struct _DBGKD_SET_INTERNAL_BREAKPOINT64 * PDBGKD_SET_INTERNAL_BREAKPOINT64
struct _DBGKD_WRITE_MEMORY32 * PDBGKD_WRITE_MEMORY32
ALPHA_DBGKD_CONTROL_SET AlphaControlSet
Definition: windbgkd.h:274
struct _DBGKD_WRITE_MEMORY64 * PDBGKD_WRITE_MEMORY64
struct _DBGKD_WRITE_FILE DBGKD_WRITE_FILE
DBGKD_READ_MEMORY32 ReadMemory
Definition: windbgkd.h:738
DBGKD_ANY_CONTROL_REPORT AnyControlReport
Definition: windbgkd.h:495
DBGKD_ANY_CONTROL_SET AnyControlSet
Definition: windbgkd.h:569
IA64_DBGKD_CONTROL_SET IA64ControlSet
Definition: windbgkd.h:275
struct _DBGKD_LOAD_SYMBOLS32 * PDBGKD_LOAD_SYMBOLS32
struct _DBGKD_PRINT_TRACE DBGKD_PRINT_TRACE
struct _DBGKD_WAIT_STATE_CHANGE32 DBGKD_WAIT_STATE_CHANGE32
DBGKD_CONTINUE2 Continue2
Definition: windbgkd.h:747
struct _AMD64_DBGKD_CONTROL_REPORT AMD64_DBGKD_CONTROL_REPORT
struct _DBGKD_CLOSE_FILE * PDBGKD_CLOSE_FILE
ARM_DBGKD_CONTROL_REPORT ARMControlReport
Definition: windbgkd.h:365
struct _DBGKD_REQUEST_BREAKPOINT DBGKD_REQUEST_BREAKPOINT
struct _DBGKD_SET_CONTEXT DBGKD_SET_CONTEXT
struct _DBGKD_GET_INTERNAL_BREAKPOINT32 DBGKD_GET_INTERNAL_BREAKPOINT32
struct _DBGKD_SET_SPECIAL_CALL64 * PDBGKD_SET_SPECIAL_CALL64
UCHAR InstructionStream[DBGKD_MAXSTREAM]
Definition: windbgkd.h:343
struct _DBGKD_CONTEXT_EX * PDBGKD_CONTEXT_EX
struct _DBGKD_QUERY_MEMORY DBGKD_QUERY_MEMORY
DBGKD_LOAD_SYMBOLS64 LoadSymbols
Definition: windbgkd.h:474
struct _DBGKD_SET_CONTEXT * PDBGKD_SET_CONTEXT
struct _DBGKD_CONTINUE DBGKD_CONTINUE
union _DBGKD_WAIT_STATE_CHANGE64::@3192 u
ULONG64 SearchLength
Definition: windbgkd.h:677
USHORT ProcessorLevel
Definition: windbgkd.h:884
struct _ARM_DBGKD_CONTROL_REPORT * PARM_DBGKD_CONTROL_REPORT
union _DBGKD_ANY_WAIT_STATE_CHANGE::@3193 u
ULONG PacketLeader
Definition: windbgkd.h:214
struct _DBGKD_READ_WRITE_IO_EXTENDED64 * PDBGKD_READ_WRITE_IO_EXTENDED64
struct _IA64_DBGKD_CONTROL_REPORT * PIA64_DBGKD_CONTROL_REPORT
struct _DBGKM_EXCEPTION32 * PDBGKM_EXCEPTION32
DBGKD_LOAD_SYMBOLS32 LoadSymbols
Definition: windbgkd.h:459
struct _ARM_DBGKD_CONTROL_SET * PARM_DBGKD_CONTROL_SET
ULONG64 CurrentSymbolStart
Definition: windbgkd.h:250
struct _DBGKD_LOAD_SYMBOLS64 * PDBGKD_LOAD_SYMBOLS64
#define EXCEPTION_MAXIMUM_PARAMETERS
Definition: compat.h:194
DBGKD_QUERY_MEMORY QueryMemory
Definition: windbgkd.h:793
struct _DBGKD_LOAD_SYMBOLS32 DBGKD_LOAD_SYMBOLS32
struct _ALPHA_DBGKD_CONTROL_REPORT * PALPHA_DBGKD_CONTROL_REPORT
DBGKM_EXCEPTION32 Exception
Definition: windbgkd.h:458
DBGKD_QUERY_SPECIAL_CALLS QuerySpecialCalls
Definition: windbgkd.h:783
struct _KD_CONTEXT KD_CONTEXT
struct _ALPHA_DBGKD_CONTROL_SET ALPHA_DBGKD_CONTROL_SET
DBGKD_GET_SET_BUS_DATA GetSetBusData
Definition: windbgkd.h:758
DBGKD_SWITCH_PARTITION SwitchPartition
Definition: windbgkd.h:761
X86_DBGKD_CONTROL_SET X86ControlSet
Definition: windbgkd.h:273
struct _KD_PACKET * PKD_PACKET
DBGKD_WRITE_CUSTOM_BREAKPOINT WriteCustomBreakpoint
Definition: windbgkd.h:795
struct _DBGKD_PRINT_STRING DBGKD_PRINT_STRING
struct _DBGKD_WRITE_BREAKPOINT32 DBGKD_WRITE_BREAKPOINT32
ULONG64 Offset
Definition: windbgkd.h:824
struct _DBGKD_LOAD_SYMBOLS64 DBGKD_LOAD_SYMBOLS64
ULONG ApiNumber
Definition: windbgkd.h:401
struct _DBGKD_BREAKPOINTEX DBGKD_BREAKPOINTEX
union _DBGKD_DEBUG_IO::@3190 u
struct _DBGKM_EXCEPTION32 DBGKM_EXCEPTION32
struct _DBGKD_SET_INTERNAL_BREAKPOINT32 DBGKD_SET_INTERNAL_BREAKPOINT32
DBGKD_WRITE_FILE WriteFile
Definition: windbgkd.h:842
struct _DBGKD_CREATE_FILE * PDBGKD_CREATE_FILE
DBGKD_GET_VERSION32 GetVersion32
Definition: windbgkd.h:754
DBGKD_READ_WRITE_IO_EXTENDED64 ReadWriteIoExtended
Definition: windbgkd.h:782
struct _DBGKD_WRITE_BREAKPOINT64 * PDBGKD_WRITE_BREAKPOINT64
union _DBGKD_TRACE_IO::@3204 u
struct _DBGKD_RESTORE_BREAKPOINT DBGKD_RESTORE_BREAKPOINT
struct _IA64_DBGKD_CONTROL_SET * PIA64_DBGKD_CONTROL_SET
DBGKD_GET_CONTEXT GetContext
Definition: windbgkd.h:742
EXCEPTION_RECORD32 ExceptionRecord
Definition: windbgkd.h:297
DBGKD_SET_CONTEXT SetContext
Definition: windbgkd.h:776
ULONG64 Handle
Definition: windbgkd.h:816
struct _DBGKD_READ_FILE * PDBGKD_READ_FILE
struct _DBGKD_ANY_CONTROL_REPORT * PDBGKD_ANY_CONTROL_REPORT
X86_DBGKD_CONTROL_REPORT X86ControlReport
Definition: windbgkd.h:361
GLenum GLclampf GLint i
Definition: glfuncs.h:14
UCHAR InstructionStream[DBGKD_MAXSTREAM]
Definition: windbgkd.h:354
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
ULONG LengthOfPromptString
Definition: windbgkd.h:392
ULONG64 Reserved2[7]
Definition: windbgkd.h:418
static __inline VOID NTAPI ExceptionRecord32To64(IN PEXCEPTION_RECORD32 Ex32, OUT PEXCEPTION_RECORD64 Ex64)
Definition: windbgkd.h:897
struct _ARM_DBGKD_CONTROL_SET ARM_DBGKD_CONTROL_SET
struct _DBGKD_READ_MEMORY64 * PDBGKD_READ_MEMORY64
DBGKD_SET_INTERNAL_BREAKPOINT64 SetInternalBreakpoint
Definition: windbgkd.h:785
uint64_t ULONG64
Definition: typedefs.h:66
struct _DBGKD_MANIPULATE_STATE32 * PDBGKD_MANIPULATE_STATE32
struct _DBGKD_READ_FILE DBGKD_READ_FILE
IA64_DBGKD_CONTROL_REPORT IA64ControlReport
Definition: windbgkd.h:363
struct _DBGKD_READ_WRITE_MSR * PDBGKD_READ_WRITE_MSR
DBGKM_EXCEPTION64 Exception
Definition: windbgkd.h:473
struct _DBGKD_WAIT_STATE_CHANGE32 * PDBGKD_WAIT_STATE_CHANGE32
DBGKD_LOAD_SYMBOLS64 LoadSymbols
Definition: windbgkd.h:489
DBGKD_WRITE_MEMORY64 WriteMemory64
Definition: windbgkd.h:741
NTSTATUS ContinueStatus
Definition: windbgkd.h:667
struct _DBGKD_FILE_IO DBGKD_FILE_IO
struct _DBGKD_ANY_CONTROL_SET DBGKD_ANY_CONTROL_SET
DBGKD_FILL_MEMORY FillMemory
Definition: windbgkd.h:759
struct _ARM_DBGKD_CONTROL_REPORT ARM_DBGKD_CONTROL_REPORT
struct _DBGKD_READ_WRITE_MSR DBGKD_READ_WRITE_MSR
struct _DBGKD_DEBUG_IO DBGKD_DEBUG_IO
UCHAR InstructionStream[DBGKD_MAXSTREAM]
Definition: windbgkd.h:327
struct _DBGKD_READ_WRITE_IO_EXTENDED32 * PDBGKD_READ_WRITE_IO_EXTENDED32
ULONG64 TargetBaseAddress
Definition: windbgkd.h:525
struct _AMD64_DBGKD_CONTROL_REPORT * PAMD64_DBGKD_CONTROL_REPORT
DBGKD_READ_WRITE_IO32 ReadWriteIo
Definition: windbgkd.h:748
DBGKD_RESTORE_BREAKPOINT RestoreBreakPoint
Definition: windbgkd.h:778
USHORT ProcessorLevel
Definition: windbgkd.h:402
DBGKD_READ_WRITE_IO64 ReadWriteIo
Definition: windbgkd.h:781
USHORT Processor
Definition: windbgkd.h:885
ULONG CreateDisposition
Definition: windbgkd.h:808
DBGKD_CONTROL_SET ControlSet
Definition: windbgkd.h:568
struct _DBGKD_SET_SPECIAL_CALL32 DBGKD_SET_SPECIAL_CALL32
struct _DBGKD_ANY_CONTROL_SET * PDBGKD_ANY_CONTROL_SET
struct _DBGKD_READ_MEMORY32 * PDBGKD_READ_MEMORY32
struct _DBGKD_GET_CONTEXT * PDBGKD_GET_CONTEXT
ULONG PacketId
Definition: windbgkd.h:217
struct _DBGKD_CONTINUE2 * PDBGKD_CONTINUE2
struct _DBGKD_GET_STRING * PDBGKD_GET_STRING
struct _DBGKD_WRITE_FILE * PDBGKD_WRITE_FILE
ULONG64 SearchAddress
Definition: windbgkd.h:674
DBGKD_RELEASE_BREAKPOINT ReleaseBreakpoint
Definition: windbgkd.h:869
unsigned char BOOLEAN
struct _DBGKD_SWITCH_PARTITION DBGKD_SWITCH_PARTITION
struct _DBGKD_GET_INTERNAL_BREAKPOINT32 * PDBGKD_GET_INTERNAL_BREAKPOINT32
struct _DBGKD_RELEASE_BREAKPOINT * PDBGKD_RELEASE_BREAKPOINT
struct _DBGKD_SET_INTERNAL_BREAKPOINT64 DBGKD_SET_INTERNAL_BREAKPOINT64
DBGKD_READ_WRITE_MSR ReadWriteMsr
Definition: windbgkd.h:756
ULONG64 TargetBaseAddress
Definition: windbgkd.h:511
DBGKD_COMMAND_STRING CommandString
Definition: windbgkd.h:490
struct _AMD64_DBGKD_CONTROL_SET AMD64_DBGKD_CONTROL_SET
struct _DBGKD_QUERY_SPECIAL_CALLS DBGKD_QUERY_SPECIAL_CALLS
struct _DBGKD_SET_SPECIAL_CALL32 * PDBGKD_SET_SPECIAL_CALL32
#define COPYSE(p64, p32, f)
Definition: windbgkd.h:12
DBGKD_SWITCH_PARTITION SwitchPartition
Definition: windbgkd.h:794
USHORT PacketType
Definition: windbgkd.h:215
ULONG ApiNumber
Definition: windbgkd.h:835
DBGKD_READ_WRITE_MSR ReadWriteMsr
Definition: windbgkd.h:789
struct _DBGKD_ANY_WAIT_STATE_CHANGE DBGKD_ANY_WAIT_STATE_CHANGE
DBGKD_FILL_MEMORY FillMemory
Definition: windbgkd.h:792
ULONG FileAttributes
Definition: windbgkd.h:806
struct _DBGKD_PRINT_STRING * PDBGKD_PRINT_STRING
struct _DBGKD_GET_CONTEXT DBGKD_GET_CONTEXT
DBGKD_CONTINUE Continue
Definition: windbgkd.h:746
ULONG Status
Definition: windbgkd.h:836
struct _DBGKD_WRITE_CUSTOM_BREAKPOINT * PDBGKD_WRITE_CUSTOM_BREAKPOINT
struct _X86_DBGKD_CONTROL_REPORT * PX86_DBGKD_CONTROL_REPORT
struct _DBGKD_FILE_IO * PDBGKD_FILE_IO
struct _DBGKD_CREATE_FILE DBGKD_CREATE_FILE
struct _DBGKD_BREAKPOINTEX * PDBGKD_BREAKPOINTEX
DBGKD_RESTORE_BREAKPOINT RestoreBreakPoint
Definition: windbgkd.h:745
AMD64_DBGKD_CONTROL_SET Amd64ControlSet
Definition: windbgkd.h:276
struct _X86_DBGKD_CONTROL_SET X86_DBGKD_CONTROL_SET
DBGKD_CONTEXT_EX ContextEx
Definition: windbgkd.h:796
struct _DBGKD_WAIT_STATE_CHANGE64 DBGKD_WAIT_STATE_CHANGE64
struct _IA64_DBGKD_CONTROL_SET IA64_DBGKD_CONTROL_SET
EXCEPTION_RECORD64 ExceptionRecord
Definition: windbgkd.h:303
struct _DBGKD_READ_WRITE_IO_EXTENDED64 DBGKD_READ_WRITE_IO_EXTENDED64
unsigned char UCHAR
Definition: xmlstorage.h:181
struct _DBGKD_READ_MEMORY32 DBGKD_READ_MEMORY32
struct _DBGKD_READ_MEMORY64 DBGKD_READ_MEMORY64
DBGKD_BREAKPOINTEX BreakPointEx
Definition: windbgkd.h:755
struct _DBGKD_CONTINUE * PDBGKD_CONTINUE
DBGKD_SEARCH_MEMORY SearchMemory
Definition: windbgkd.h:757
DBGKD_GET_INTERNAL_BREAKPOINT32 GetInternalBreakpoint
Definition: windbgkd.h:753
DBGKD_PRINT_STRING PrintString
Definition: windbgkd.h:406
struct _DBGKD_CONTINUE2 DBGKD_CONTINUE2
DBGKD_GET_STRING GetString
Definition: windbgkd.h:407
BOOLEAN KdpControlCPending
Definition: windbgkd.h:227
struct _DBGKD_WRITE_BREAKPOINT64 DBGKD_WRITE_BREAKPOINT64
DBGKD_SET_INTERNAL_BREAKPOINT32 SetInternalBreakpoint
Definition: windbgkd.h:752
DBGKD_WRITE_MEMORY64 WriteMemory
Definition: windbgkd.h:774
struct _DBGKD_COMMAND_STRING * PDBGKD_COMMAND_STRING
union _DBGKD_MANIPULATE_STATE32::@3200 u
UCHAR InstructionStream[DBGKD_MAXSTREAM]
Definition: windbgkd.h:316
DBGKD_BREAKPOINTEX BreakPointEx
Definition: windbgkd.h:788
struct _DBGKD_TRACE_IO * PDBGKD_TRACE_IO
struct _DBGKD_WRITE_MEMORY32 DBGKD_WRITE_MEMORY32
DBGKD_GET_SET_BUS_DATA GetSetBusData
Definition: windbgkd.h:791
struct _DBGKD_MANIPULATE_STATE32 DBGKD_MANIPULATE_STATE32
struct _DBGKD_PRINT_TRACE * PDBGKD_PRINT_TRACE
struct _ALPHA_DBGKD_CONTROL_REPORT ALPHA_DBGKD_CONTROL_REPORT
ULONG64 Offset
Definition: windbgkd.h:817
DBGKD_QUERY_MEMORY QueryMemory
Definition: windbgkd.h:760
DBGKD_SET_CONTEXT SetContext
Definition: windbgkd.h:743
struct _DBGKD_GET_SET_BUS_DATA * PDBGKD_GET_SET_BUS_DATA
struct _KD_CONTEXT * PKD_CONTEXT
struct _DBGKD_READ_WRITE_IO_EXTENDED32 DBGKD_READ_WRITE_IO_EXTENDED32
DBGKD_GET_VERSION64 GetVersion64
Definition: windbgkd.h:787
ULONG ApiNumber
Definition: windbgkd.h:883
union _DBGKD_MANIPULATE_STATE64::@3201 u
struct _DBGKD_QUERY_SPECIAL_CALLS * PDBGKD_QUERY_SPECIAL_CALLS
ULONG64 FoundAddress
Definition: windbgkd.h:675
DBGKD_READ_MEMORY64 ReadMemory
Definition: windbgkd.h:773
LONG NTSTATUS
Definition: DriverTester.h:11
struct _DBGKD_READ_WRITE_IO64 DBGKD_READ_WRITE_IO64
ULONG64 Handle
Definition: windbgkd.h:830
struct _DBGKD_GET_SET_BUS_DATA DBGKD_GET_SET_BUS_DATA
struct _DBGKD_GET_STRING DBGKD_GET_STRING
DBGKD_READ_FILE ReadFile
Definition: windbgkd.h:841
struct _DBGKD_READ_WRITE_IO64 * PDBGKD_READ_WRITE_IO64
DBGKD_WRITE_BREAKPOINT64 WriteBreakPoint
Definition: windbgkd.h:777
unsigned short USHORT
Definition: pedump.c:61
ARM_DBGKD_CONTROL_SET ARMControlSet
Definition: windbgkd.h:277
struct _DBGKM_EXCEPTION64 * PDBGKM_EXCEPTION64
struct _DBGKD_MANIPULATE_STATE64 * PDBGKD_MANIPULATE_STATE64
ULONG64 ReserveSpace[7]
Definition: windbgkd.h:839
NTSTATUS ContinueStatus
Definition: windbgkd.h:559
DBGKD_READ_MEMORY64 ReadMemory64
Definition: windbgkd.h:740
DBGKD_GET_INTERNAL_BREAKPOINT64 GetInternalBreakpoint
Definition: windbgkd.h:786
DBGKM_EXCEPTION64 Exception
Definition: windbgkd.h:488
union _DBGKD_FILE_IO::@3202 u
struct _IA64_DBGKD_CONTROL_REPORT IA64_DBGKD_CONTROL_REPORT
struct _DBGKD_WRITE_MEMORY64 DBGKD_WRITE_MEMORY64
ULONG KdpDefaultRetries
Definition: windbgkd.h:226
struct _DBGKD_QUERY_MEMORY * PDBGKD_QUERY_MEMORY
struct _DBGKD_DEBUG_IO * PDBGKD_DEBUG_IO
struct _ALPHA_DBGKD_CONTROL_SET * PALPHA_DBGKD_CONTROL_SET
struct _DBGKD_CONTROL_REQUEST DBGKD_CONTROL_REQUEST
ULONG Checksum
Definition: windbgkd.h:218
struct _X86_DBGKD_CONTROL_REPORT X86_DBGKD_CONTROL_REPORT
struct _DBGKD_FILL_MEMORY * PDBGKD_FILL_MEMORY
#define OUT
Definition: typedefs.h:40
struct _DBGKD_READ_WRITE_IO32 * PDBGKD_READ_WRITE_IO32
struct _KD_PACKET KD_PACKET
struct _DBGKD_SET_INTERNAL_BREAKPOINT32 * PDBGKD_SET_INTERNAL_BREAKPOINT32
struct _DBGKD_WRITE_CUSTOM_BREAKPOINT DBGKD_WRITE_CUSTOM_BREAKPOINT
unsigned int ULONG
Definition: retypes.h:1
struct _DBGKD_RELEASE_BREAKPOINT DBGKD_RELEASE_BREAKPOINT
struct _DBGKD_COMMAND_STRING DBGKD_COMMAND_STRING
union _DBGKD_WAIT_STATE_CHANGE32::@3191 u
DBGKD_QUERY_SPECIAL_CALLS QuerySpecialCalls
Definition: windbgkd.h:750
DBGKD_SET_SPECIAL_CALL64 SetSpecialCall
Definition: windbgkd.h:784
struct _AMD64_DBGKD_CONTROL_SET * PAMD64_DBGKD_CONTROL_SET
struct _DBGKD_ANY_CONTROL_REPORT DBGKD_ANY_CONTROL_REPORT
struct _DBGKD_SEARCH_MEMORY * PDBGKD_SEARCH_MEMORY
struct _DBGKD_WAIT_STATE_CHANGE64 * PDBGKD_WAIT_STATE_CHANGE64
struct _DBGKD_CONTEXT_EX DBGKD_CONTEXT_EX
struct _DBGKD_TRACE_IO DBGKD_TRACE_IO
USHORT ByteCount
Definition: windbgkd.h:216
USHORT PatternLength
Definition: windbgkd.h:695
#define DBGKD_MAXSTREAM
Definition: windbgkd.h:19
DBGKD_SET_SPECIAL_CALL32 SetSpecialCall
Definition: windbgkd.h:751
DBGKD_PRINT_TRACE PrintTrace
Definition: windbgkd.h:889
DBGKD_WRITE_MEMORY32 WriteMemory
Definition: windbgkd.h:739
struct _DBGKD_GET_INTERNAL_BREAKPOINT64 DBGKD_GET_INTERNAL_BREAKPOINT64
union _DBGKD_CONTROL_REQUEST::@3203 u
DBGKD_READ_WRITE_IO_EXTENDED32 ReadWriteIoExtended
Definition: windbgkd.h:749
AMD64_DBGKD_CONTROL_REPORT Amd64ControlReport
Definition: windbgkd.h:364
struct _DBGKM_EXCEPTION64 DBGKM_EXCEPTION64
struct _DBGKD_MANIPULATE_STATE64 DBGKD_MANIPULATE_STATE64
NTSTATUS ContinueStatus
Definition: windbgkd.h:565
USHORT Processor
Definition: windbgkd.h:403
DBGKD_CONTINUE2 Continue2
Definition: windbgkd.h:780
DBGKD_SEARCH_MEMORY SearchMemory
Definition: windbgkd.h:790
DBGKD_CREATE_FILE CreateFile
Definition: windbgkd.h:840
ULONG64 Handle
Definition: windbgkd.h:823
struct _DBGKD_SEARCH_MEMORY DBGKD_SEARCH_MEMORY