ReactOS  0.4.15-dev-5126-g3bb451b
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 {
275 
277 {
278  union
279  {
285  };
287 #include <poppack.h>
288 
289 #if defined(_M_IX86)
290 typedef X86_DBGKD_CONTROL_SET DBGKD_CONTROL_SET, *PDBGKD_CONTROL_SET;
291 #elif defined(_M_AMD64)
292 typedef AMD64_DBGKD_CONTROL_SET DBGKD_CONTROL_SET, *PDBGKD_CONTROL_SET;
293 #elif defined(_M_ARM)
294 typedef ARM_DBGKD_CONTROL_SET DBGKD_CONTROL_SET, *PDBGKD_CONTROL_SET;
295 #elif defined(_M_ARM64)
296 typedef ARM64_DBGKD_CONTROL_SET DBGKD_CONTROL_SET, *PDBGKD_CONTROL_SET;
297 #else
298 #error Unsupported Architecture
299 #endif
300 
301 //
302 // DBGKM Structure for Exceptions
303 //
304 typedef struct _DBGKM_EXCEPTION32
305 {
309 
310 typedef struct _DBGKM_EXCEPTION64
311 {
315 
316 //
317 // DBGKD Structure for State Change
318 //
320 {
332 
334 {
338 
340 {
344 
346 {
358 
360 {
365 
367 {
373 
375 {
376  union
377  {
384  };
386 
387 #if defined(_M_IX86)
388 typedef X86_DBGKD_CONTROL_REPORT DBGKD_CONTROL_REPORT, *PDBGKD_CONTROL_REPORT;
389 #elif defined(_M_AMD64)
390 typedef AMD64_DBGKD_CONTROL_REPORT DBGKD_CONTROL_REPORT, *PDBGKD_CONTROL_REPORT;
391 #elif defined(_M_ARM)
392 typedef ARM_DBGKD_CONTROL_REPORT DBGKD_CONTROL_REPORT, *PDBGKD_CONTROL_REPORT;
393 #elif defined(_M_ARM64)
394 typedef ARM64_DBGKD_CONTROL_REPORT DBGKD_CONTROL_REPORT, *PDBGKD_CONTROL_REPORT;
395 #else
396 #error Unsupported Architecture
397 #endif
398 
399 //
400 // DBGKD Structure for Debug I/O Type Print String
401 //
402 typedef struct _DBGKD_PRINT_STRING
403 {
406 
407 //
408 // DBGKD Structure for Debug I/O Type Get String
409 //
410 typedef struct _DBGKD_GET_STRING
411 {
415 
416 //
417 // DBGKD Structure for Debug I/O
418 //
419 typedef struct _DBGKD_DEBUG_IO
420 {
424  union
425  {
428  } u;
430 
431 //
432 // DBGkD Structure for Command String
433 //
434 typedef struct _DBGKD_COMMAND_STRING
435 {
440 
441 //
442 // DBGKD Structure for Load Symbols
443 //
444 typedef struct _DBGKD_LOAD_SYMBOLS32
445 {
453 
454 typedef struct _DBGKD_LOAD_SYMBOLS64
455 {
463 
464 //
465 // DBGKD Structure for Wait State Change
466 //
467 
469 {
476  union
477  {
480  } u;
482 
484 {
491  union
492  {
495  } u;
497 
499 {
506  union
507  {
511  } u;
512  union
513  {
514  DBGKD_CONTROL_REPORT ControlReport;
516  };
518 
519 //
520 // DBGKD Manipulate Structures
521 //
522 typedef struct _DBGKD_READ_MEMORY32
523 {
528 
529 typedef struct _DBGKD_READ_MEMORY64
530 {
535 
536 typedef struct _DBGKD_WRITE_MEMORY32
537 {
542 
543 typedef struct _DBGKD_WRITE_MEMORY64
544 {
549 
550 typedef struct _DBGKD_GET_CONTEXT
551 {
554 
555 typedef struct _DBGKD_SET_CONTEXT
556 {
559 
561 {
565 
567 {
571 
573 {
576 
577 typedef struct _DBGKD_CONTINUE
578 {
581 
582 #include <pshpack4.h>
583 typedef struct _DBGKD_CONTINUE2
584 {
586  union
587  {
588  DBGKD_CONTROL_SET ControlSet;
590  };
592 #include <poppack.h>
593 
595 {
600 
602 {
607 
609 {
617 
619 {
627 
628 typedef struct _DBGKD_READ_WRITE_MSR
629 {
634 
636 {
639 
641 {
644 
646 {
649 
651 {
655 
657 {
661 
663 {
672 
674 {
683 
684 typedef struct _DBGKD_BREAKPOINTEX
685 {
689 
690 typedef struct _DBGKD_SEARCH_MEMORY
691 {
692  union
693  {
696  };
700 
702 {
709 
710 typedef struct _DBGKD_FILL_MEMORY
711 {
717 
718 typedef struct _DBGKD_QUERY_MEMORY
719 {
725 
727 {
730 
731 typedef struct _DBGKD_CONTEXT_EX
732 {
737 
739 {
746 
747 //
748 // DBGKD Structure for Manipulate
749 //
751 {
756  union
757  {
782  } u;
784 
786 {
791  union
792  {
817  } u;
819 
820 //
821 // File I/O Structure
822 //
823 typedef struct _DBGKD_CREATE_FILE
824 {
833 
834 typedef struct _DBGKD_READ_FILE
835 {
840 
841 typedef struct _DBGKD_WRITE_FILE
842 {
847 
848 typedef struct _DBGKD_CLOSE_FILE
849 {
852 
853 typedef struct _DBGKD_FILE_IO
854 {
857  union
858  {
864  } u;
866 
867 
868 //
869 // Control Request Structure
870 //
872 {
876 
878 {
882 
884 {
886  union
887  {
890  } u;
892 
893 //
894 // Trace I/O Structure
895 //
896 typedef struct _DBGKD_PRINT_TRACE
897 {
900 
901 typedef struct _DBGKD_TRACE_IO
902 {
906  union
907  {
910  } u;
912 
913 static
914 __inline
915 VOID
916 NTAPI
919 {
920  ULONG i;
921 
922  Ex64->ExceptionCode = Ex32->ExceptionCode;
923  Ex64->ExceptionFlags = Ex32->ExceptionFlags;
924  Ex64->ExceptionRecord = Ex32->ExceptionRecord;
925  COPYSE(Ex64,Ex32,ExceptionAddress);
926  Ex64->NumberParameters = Ex32->NumberParameters;
927 
928  for (i = 0; i < EXCEPTION_MAXIMUM_PARAMETERS; i++)
929  {
930  COPYSE(Ex64,Ex32,ExceptionInformation[i]);
931  }
932 }
933 
934 #endif
struct _DBGKD_READ_WRITE_IO32 DBGKD_READ_WRITE_IO32
UCHAR InstructionStream[DBGKD_MAXSTREAM]
Definition: windbgkd.h:342
DBGKD_CLOSE_FILE CloseFile
Definition: windbgkd.h:863
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:764
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:514
struct _DBGKD_WRITE_BREAKPOINT32 * PDBGKD_WRITE_BREAKPOINT32
ULONG64 ReserveSpace[7]
Definition: windbgkd.h:908
DBGKD_REQUEST_BREAKPOINT RequestBreakpoint
Definition: windbgkd.h:888
ALPHA_DBGKD_CONTROL_REPORT AlphaControlReport
Definition: windbgkd.h:379
ULONG LengthOfStringRead
Definition: windbgkd.h:413
#define IN
Definition: typedefs.h:39
struct _DBGKD_ANY_WAIT_STATE_CHANGE * PDBGKD_ANY_WAIT_STATE_CHANGE
DBGKD_CONTINUE Continue
Definition: windbgkd.h:799
DBGKD_GET_CONTEXT GetContext
Definition: windbgkd.h:795
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:281
struct _DBGKD_WRITE_MEMORY64 * PDBGKD_WRITE_MEMORY64
struct _DBGKD_WRITE_FILE DBGKD_WRITE_FILE
ARM64_DBGKD_CONTROL_REPORT ARM64ControlReport
Definition: windbgkd.h:383
DBGKD_READ_MEMORY32 ReadMemory
Definition: windbgkd.h:758
DBGKD_ANY_CONTROL_REPORT AnyControlReport
Definition: windbgkd.h:515
DBGKD_ANY_CONTROL_SET AnyControlSet
Definition: windbgkd.h:589
IA64_DBGKD_CONTROL_SET IA64ControlSet
Definition: windbgkd.h:282
struct _DBGKD_LOAD_SYMBOLS32 * PDBGKD_LOAD_SYMBOLS32
union _DBGKD_MANIPULATE_STATE64::@3506 u
struct _DBGKD_PRINT_TRACE DBGKD_PRINT_TRACE
struct _DBGKD_WAIT_STATE_CHANGE32 DBGKD_WAIT_STATE_CHANGE32
DBGKD_CONTINUE2 Continue2
Definition: windbgkd.h:767
struct _AMD64_DBGKD_CONTROL_REPORT AMD64_DBGKD_CONTROL_REPORT
struct _DBGKD_CLOSE_FILE * PDBGKD_CLOSE_FILE
ARM_DBGKD_CONTROL_REPORT ARMControlReport
Definition: windbgkd.h:382
union _DBGKD_WAIT_STATE_CHANGE64::@3497 u
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:352
union _DBGKD_WAIT_STATE_CHANGE32::@3496 u
struct _DBGKD_CONTEXT_EX * PDBGKD_CONTEXT_EX
struct _DBGKD_QUERY_MEMORY DBGKD_QUERY_MEMORY
DBGKD_LOAD_SYMBOLS64 LoadSymbols
Definition: windbgkd.h:494
struct _DBGKD_SET_CONTEXT * PDBGKD_SET_CONTEXT
struct _DBGKD_CONTINUE DBGKD_CONTINUE
ULONG64 SearchLength
Definition: windbgkd.h:697
LONG NTSTATUS
Definition: precomp.h:26
USHORT ProcessorLevel
Definition: windbgkd.h:904
struct _ARM_DBGKD_CONTROL_REPORT * PARM_DBGKD_CONTROL_REPORT
struct _ARM64_DBGKD_CONTROL_SET ARM64_DBGKD_CONTROL_SET
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:479
UCHAR InstructionStream[DBGKD_MAXSTREAM]
Definition: windbgkd.h:371
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:206
DBGKD_QUERY_MEMORY QueryMemory
Definition: windbgkd.h:813
struct _DBGKD_LOAD_SYMBOLS32 DBGKD_LOAD_SYMBOLS32
struct _ALPHA_DBGKD_CONTROL_REPORT * PALPHA_DBGKD_CONTROL_REPORT
DBGKM_EXCEPTION32 Exception
Definition: windbgkd.h:478
DBGKD_QUERY_SPECIAL_CALLS QuerySpecialCalls
Definition: windbgkd.h:803
struct _KD_CONTEXT KD_CONTEXT
struct _ALPHA_DBGKD_CONTROL_SET ALPHA_DBGKD_CONTROL_SET
DBGKD_GET_SET_BUS_DATA GetSetBusData
Definition: windbgkd.h:778
DBGKD_SWITCH_PARTITION SwitchPartition
Definition: windbgkd.h:781
X86_DBGKD_CONTROL_SET X86ControlSet
Definition: windbgkd.h:280
struct _KD_PACKET * PKD_PACKET
DBGKD_WRITE_CUSTOM_BREAKPOINT WriteCustomBreakpoint
Definition: windbgkd.h:815
struct _DBGKD_PRINT_STRING DBGKD_PRINT_STRING
struct _DBGKD_WRITE_BREAKPOINT32 DBGKD_WRITE_BREAKPOINT32
ULONG64 Offset
Definition: windbgkd.h:844
struct _DBGKD_LOAD_SYMBOLS64 DBGKD_LOAD_SYMBOLS64
ULONG ApiNumber
Definition: windbgkd.h:421
union _DBGKD_CONTROL_REQUEST::@3508 u
struct _DBGKD_BREAKPOINTEX DBGKD_BREAKPOINTEX
struct _ARM64_DBGKD_CONTROL_REPORT ARM64_DBGKD_CONTROL_REPORT
struct _DBGKM_EXCEPTION32 DBGKM_EXCEPTION32
struct _DBGKD_SET_INTERNAL_BREAKPOINT32 DBGKD_SET_INTERNAL_BREAKPOINT32
DBGKD_WRITE_FILE WriteFile
Definition: windbgkd.h:862
struct _DBGKD_CREATE_FILE * PDBGKD_CREATE_FILE
DBGKD_GET_VERSION32 GetVersion32
Definition: windbgkd.h:774
DBGKD_READ_WRITE_IO_EXTENDED64 ReadWriteIoExtended
Definition: windbgkd.h:802
struct _DBGKD_WRITE_BREAKPOINT64 * PDBGKD_WRITE_BREAKPOINT64
struct _DBGKD_RESTORE_BREAKPOINT DBGKD_RESTORE_BREAKPOINT
struct _IA64_DBGKD_CONTROL_SET * PIA64_DBGKD_CONTROL_SET
DBGKD_GET_CONTEXT GetContext
Definition: windbgkd.h:762
EXCEPTION_RECORD32 ExceptionRecord
Definition: windbgkd.h:306
DBGKD_SET_CONTEXT SetContext
Definition: windbgkd.h:796
ULONG64 Handle
Definition: windbgkd.h:836
struct _DBGKD_READ_FILE * PDBGKD_READ_FILE
struct _DBGKD_ANY_CONTROL_REPORT * PDBGKD_ANY_CONTROL_REPORT
X86_DBGKD_CONTROL_REPORT X86ControlReport
Definition: windbgkd.h:378
UCHAR InstructionStream[DBGKD_MAXSTREAM]
Definition: windbgkd.h:363
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
ULONG LengthOfPromptString
Definition: windbgkd.h:412
ULONG64 Reserved2[7]
Definition: windbgkd.h:438
static __inline VOID NTAPI ExceptionRecord32To64(IN PEXCEPTION_RECORD32 Ex32, OUT PEXCEPTION_RECORD64 Ex64)
Definition: windbgkd.h:917
struct _ARM_DBGKD_CONTROL_SET ARM_DBGKD_CONTROL_SET
struct _DBGKD_READ_MEMORY64 * PDBGKD_READ_MEMORY64
DBGKD_SET_INTERNAL_BREAKPOINT64 SetInternalBreakpoint
Definition: windbgkd.h:805
struct _DBGKD_MANIPULATE_STATE32 * PDBGKD_MANIPULATE_STATE32
struct _DBGKD_READ_FILE DBGKD_READ_FILE
IA64_DBGKD_CONTROL_REPORT IA64ControlReport
Definition: windbgkd.h:380
struct _DBGKD_READ_WRITE_MSR * PDBGKD_READ_WRITE_MSR
DBGKM_EXCEPTION64 Exception
Definition: windbgkd.h:493
struct _DBGKD_WAIT_STATE_CHANGE32 * PDBGKD_WAIT_STATE_CHANGE32
DBGKD_LOAD_SYMBOLS64 LoadSymbols
Definition: windbgkd.h:509
DBGKD_WRITE_MEMORY64 WriteMemory64
Definition: windbgkd.h:761
unsigned char BOOLEAN
NTSTATUS ContinueStatus
Definition: windbgkd.h:687
struct _DBGKD_FILE_IO DBGKD_FILE_IO
struct _DBGKD_ANY_CONTROL_SET DBGKD_ANY_CONTROL_SET
DBGKD_FILL_MEMORY FillMemory
Definition: windbgkd.h:779
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:336
struct _DBGKD_READ_WRITE_IO_EXTENDED32 * PDBGKD_READ_WRITE_IO_EXTENDED32
ULONG64 TargetBaseAddress
Definition: windbgkd.h:545
struct _AMD64_DBGKD_CONTROL_REPORT * PAMD64_DBGKD_CONTROL_REPORT
union _DBGKD_MANIPULATE_STATE32::@3505 u
DBGKD_READ_WRITE_IO32 ReadWriteIo
Definition: windbgkd.h:768
DBGKD_RESTORE_BREAKPOINT RestoreBreakPoint
Definition: windbgkd.h:798
union _DBGKD_FILE_IO::@3507 u
USHORT ProcessorLevel
Definition: windbgkd.h:422
DBGKD_READ_WRITE_IO64 ReadWriteIo
Definition: windbgkd.h:801
USHORT Processor
Definition: windbgkd.h:905
ULONG CreateDisposition
Definition: windbgkd.h:828
DBGKD_CONTROL_SET ControlSet
Definition: windbgkd.h:588
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 _ARM64_DBGKD_CONTROL_SET * PARM64_DBGKD_CONTROL_SET
struct _DBGKD_GET_STRING * PDBGKD_GET_STRING
struct _DBGKD_WRITE_FILE * PDBGKD_WRITE_FILE
ULONG64 SearchAddress
Definition: windbgkd.h:694
DBGKD_RELEASE_BREAKPOINT ReleaseBreakpoint
Definition: windbgkd.h:889
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:776
ULONG64 TargetBaseAddress
Definition: windbgkd.h:531
DBGKD_COMMAND_STRING CommandString
Definition: windbgkd.h:510
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:814
USHORT PacketType
Definition: windbgkd.h:215
ULONG ApiNumber
Definition: windbgkd.h:855
DBGKD_READ_WRITE_MSR ReadWriteMsr
Definition: windbgkd.h:809
struct _DBGKD_ANY_WAIT_STATE_CHANGE DBGKD_ANY_WAIT_STATE_CHANGE
DBGKD_FILL_MEMORY FillMemory
Definition: windbgkd.h:812
ULONG FileAttributes
Definition: windbgkd.h:826
struct _DBGKD_PRINT_STRING * PDBGKD_PRINT_STRING
struct _DBGKD_GET_CONTEXT DBGKD_GET_CONTEXT
DBGKD_CONTINUE Continue
Definition: windbgkd.h:766
ULONG Status
Definition: windbgkd.h:856
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:765
AMD64_DBGKD_CONTROL_SET Amd64ControlSet
Definition: windbgkd.h:283
struct _X86_DBGKD_CONTROL_SET X86_DBGKD_CONTROL_SET
DBGKD_CONTEXT_EX ContextEx
Definition: windbgkd.h:816
struct _DBGKD_WAIT_STATE_CHANGE64 DBGKD_WAIT_STATE_CHANGE64
struct _IA64_DBGKD_CONTROL_SET IA64_DBGKD_CONTROL_SET
unsigned __int64 ULONG64
Definition: imports.h:198
EXCEPTION_RECORD64 ExceptionRecord
Definition: windbgkd.h:312
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:775
struct _DBGKD_CONTINUE * PDBGKD_CONTINUE
DBGKD_SEARCH_MEMORY SearchMemory
Definition: windbgkd.h:777
DBGKD_GET_INTERNAL_BREAKPOINT32 GetInternalBreakpoint
Definition: windbgkd.h:773
DBGKD_PRINT_STRING PrintString
Definition: windbgkd.h:426
struct _DBGKD_CONTINUE2 DBGKD_CONTINUE2
DBGKD_GET_STRING GetString
Definition: windbgkd.h:427
BOOLEAN KdpControlCPending
Definition: windbgkd.h:227
struct _DBGKD_WRITE_BREAKPOINT64 DBGKD_WRITE_BREAKPOINT64
DBGKD_SET_INTERNAL_BREAKPOINT32 SetInternalBreakpoint
Definition: windbgkd.h:772
DBGKD_WRITE_MEMORY64 WriteMemory
Definition: windbgkd.h:794
struct _DBGKD_COMMAND_STRING * PDBGKD_COMMAND_STRING
UCHAR InstructionStream[DBGKD_MAXSTREAM]
Definition: windbgkd.h:325
DBGKD_BREAKPOINTEX BreakPointEx
Definition: windbgkd.h:808
struct _DBGKD_TRACE_IO * PDBGKD_TRACE_IO
struct _DBGKD_WRITE_MEMORY32 DBGKD_WRITE_MEMORY32
union _DBGKD_TRACE_IO::@3509 u
DBGKD_GET_SET_BUS_DATA GetSetBusData
Definition: windbgkd.h:811
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:837
DBGKD_QUERY_MEMORY QueryMemory
Definition: windbgkd.h:780
DBGKD_SET_CONTEXT SetContext
Definition: windbgkd.h:763
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:807
ULONG ApiNumber
Definition: windbgkd.h:903
struct _DBGKD_QUERY_SPECIAL_CALLS * PDBGKD_QUERY_SPECIAL_CALLS
ULONG64 FoundAddress
Definition: windbgkd.h:695
DBGKD_READ_MEMORY64 ReadMemory
Definition: windbgkd.h:793
struct _DBGKD_READ_WRITE_IO64 DBGKD_READ_WRITE_IO64
ULONG64 Handle
Definition: windbgkd.h:850
struct _DBGKD_GET_SET_BUS_DATA DBGKD_GET_SET_BUS_DATA
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
struct _DBGKD_GET_STRING DBGKD_GET_STRING
DBGKD_READ_FILE ReadFile
Definition: windbgkd.h:861
struct _DBGKD_READ_WRITE_IO64 * PDBGKD_READ_WRITE_IO64
DBGKD_WRITE_BREAKPOINT64 WriteBreakPoint
Definition: windbgkd.h:797
unsigned short USHORT
Definition: pedump.c:61
ARM_DBGKD_CONTROL_SET ARMControlSet
Definition: windbgkd.h:284
struct _DBGKM_EXCEPTION64 * PDBGKM_EXCEPTION64
struct _DBGKD_MANIPULATE_STATE64 * PDBGKD_MANIPULATE_STATE64
ULONG64 ReserveSpace[7]
Definition: windbgkd.h:859
NTSTATUS ContinueStatus
Definition: windbgkd.h:579
DBGKD_READ_MEMORY64 ReadMemory64
Definition: windbgkd.h:760
DBGKD_GET_INTERNAL_BREAKPOINT64 GetInternalBreakpoint
Definition: windbgkd.h:806
DBGKM_EXCEPTION64 Exception
Definition: windbgkd.h:508
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
DBGKD_QUERY_SPECIAL_CALLS QuerySpecialCalls
Definition: windbgkd.h:770
DBGKD_SET_SPECIAL_CALL64 SetSpecialCall
Definition: windbgkd.h:804
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:715
#define DBGKD_MAXSTREAM
Definition: windbgkd.h:19
DBGKD_SET_SPECIAL_CALL32 SetSpecialCall
Definition: windbgkd.h:771
DBGKD_PRINT_TRACE PrintTrace
Definition: windbgkd.h:909
DBGKD_WRITE_MEMORY32 WriteMemory
Definition: windbgkd.h:759
struct _DBGKD_GET_INTERNAL_BREAKPOINT64 DBGKD_GET_INTERNAL_BREAKPOINT64
union _DBGKD_ANY_WAIT_STATE_CHANGE::@3498 u
DBGKD_READ_WRITE_IO_EXTENDED32 ReadWriteIoExtended
Definition: windbgkd.h:769
AMD64_DBGKD_CONTROL_REPORT Amd64ControlReport
Definition: windbgkd.h:381
struct _DBGKM_EXCEPTION64 DBGKM_EXCEPTION64
struct _DBGKD_MANIPULATE_STATE64 DBGKD_MANIPULATE_STATE64
NTSTATUS ContinueStatus
Definition: windbgkd.h:585
USHORT Processor
Definition: windbgkd.h:423
struct _ARM64_DBGKD_CONTROL_REPORT * PARM64_DBGKD_CONTROL_REPORT
DBGKD_CONTINUE2 Continue2
Definition: windbgkd.h:800
DBGKD_SEARCH_MEMORY SearchMemory
Definition: windbgkd.h:810
DBGKD_CREATE_FILE CreateFile
Definition: windbgkd.h:860
ULONG64 Handle
Definition: windbgkd.h:843
struct _DBGKD_SEARCH_MEMORY DBGKD_SEARCH_MEMORY
union _DBGKD_DEBUG_IO::@3495 u