| dbgeng.h (6.0.6002.18005-Windows 6.0) | | dbgeng.h (6.1.7601.17514-Windows 7.0) |
| | |
| skipping to change at line 123 | | skipping to change at line 123 |
| 0xa0, 0x4f, 0x98, 0x7a, 0xc2, 0x9a, 0xd0, 0xd3); | | 0xa0, 0x4f, 0x98, 0x7a, 0xc2, 0x9a, 0xd0, 0xd3); |
| /* 9f50e42c-f136-499e-9a97-73036c94ed2d */ | | /* 9f50e42c-f136-499e-9a97-73036c94ed2d */ |
| DEFINE_GUID(IID_IDebugInputCallbacks, 0x9f50e42c, 0xf136, 0x499e, | | DEFINE_GUID(IID_IDebugInputCallbacks, 0x9f50e42c, 0xf136, 0x499e, |
| 0x9a, 0x97, 0x73, 0x03, 0x6c, 0x94, 0xed, 0x2d); | | 0x9a, 0x97, 0x73, 0x03, 0x6c, 0x94, 0xed, 0x2d); |
| /* 4bf58045-d654-4c40-b0af-683090f356dc */ | | /* 4bf58045-d654-4c40-b0af-683090f356dc */ |
| DEFINE_GUID(IID_IDebugOutputCallbacks, 0x4bf58045, 0xd654, 0x4c40, | | DEFINE_GUID(IID_IDebugOutputCallbacks, 0x4bf58045, 0xd654, 0x4c40, |
| 0xb0, 0xaf, 0x68, 0x30, 0x90, 0xf3, 0x56, 0xdc); | | 0xb0, 0xaf, 0x68, 0x30, 0x90, 0xf3, 0x56, 0xdc); |
| /* 4c7fd663-c394-4e26-8ef1-34ad5ed3764c */ | | /* 4c7fd663-c394-4e26-8ef1-34ad5ed3764c */ |
| DEFINE_GUID(IID_IDebugOutputCallbacksWide, 0x4c7fd663, 0xc394, 0x4e26, | | DEFINE_GUID(IID_IDebugOutputCallbacksWide, 0x4c7fd663, 0xc394, 0x4e26, |
| 0x8e, 0xf1, 0x34, 0xad, 0x5e, 0xd3, 0x76, 0x4c); | | 0x8e, 0xf1, 0x34, 0xad, 0x5e, 0xd3, 0x76, 0x4c); |
|
| | /* 67721fe9-56d2-4a44-a325-2b65513ce6eb */ |
| | DEFINE_GUID(IID_IDebugOutputCallbacks2, 0x67721fe9, 0x56d2, 0x4a44, |
| | 0xa3, 0x25, 0x2b, 0x65, 0x51, 0x3c, 0xe6, 0xeb); |
| /* ce289126-9e84-45a7-937e-67bb18691493 */ | | /* ce289126-9e84-45a7-937e-67bb18691493 */ |
| DEFINE_GUID(IID_IDebugRegisters, 0xce289126, 0x9e84, 0x45a7, | | DEFINE_GUID(IID_IDebugRegisters, 0xce289126, 0x9e84, 0x45a7, |
| 0x93, 0x7e, 0x67, 0xbb, 0x18, 0x69, 0x14, 0x93); | | 0x93, 0x7e, 0x67, 0xbb, 0x18, 0x69, 0x14, 0x93); |
| /* 1656afa9-19c6-4e3a-97e7-5dc9160cf9c4 */ | | /* 1656afa9-19c6-4e3a-97e7-5dc9160cf9c4 */ |
| DEFINE_GUID(IID_IDebugRegisters2, 0x1656afa9, 0x19c6, 0x4e3a, | | DEFINE_GUID(IID_IDebugRegisters2, 0x1656afa9, 0x19c6, 0x4e3a, |
| 0x97, 0xe7, 0x5d, 0xc9, 0x16, 0x0c, 0xf9, 0xc4); | | 0x97, 0xe7, 0x5d, 0xc9, 0x16, 0x0c, 0xf9, 0xc4); |
| /* f2528316-0f1a-4431-aeed-11d096e1e2ab */ | | /* f2528316-0f1a-4431-aeed-11d096e1e2ab */ |
| DEFINE_GUID(IID_IDebugSymbolGroup, 0xf2528316, 0x0f1a, 0x4431, | | DEFINE_GUID(IID_IDebugSymbolGroup, 0xf2528316, 0x0f1a, 0x4431, |
| 0xae, 0xed, 0x11, 0xd0, 0x96, 0xe1, 0xe2, 0xab); | | 0xae, 0xed, 0x11, 0xd0, 0x96, 0xe1, 0xe2, 0xab); |
| /* 6a7ccc5f-fb5e-4dcc-b41c-6c20307bccc7 */ | | /* 6a7ccc5f-fb5e-4dcc-b41c-6c20307bccc7 */ |
| | |
| skipping to change at line 203 | | skipping to change at line 206 |
| typedef interface DECLSPEC_UUID("337be28b-5036-4d72-b6bf-c45fbb9f2eaa") | | typedef interface DECLSPEC_UUID("337be28b-5036-4d72-b6bf-c45fbb9f2eaa") |
| IDebugEventCallbacks* PDEBUG_EVENT_CALLBACKS; | | IDebugEventCallbacks* PDEBUG_EVENT_CALLBACKS; |
| typedef interface DECLSPEC_UUID("0690e046-9c23-45ac-a04f-987ac29ad0d3") | | typedef interface DECLSPEC_UUID("0690e046-9c23-45ac-a04f-987ac29ad0d3") |
| IDebugEventCallbacksWide* PDEBUG_EVENT_CALLBACKS_WIDE; | | IDebugEventCallbacksWide* PDEBUG_EVENT_CALLBACKS_WIDE; |
| typedef interface DECLSPEC_UUID("9f50e42c-f136-499e-9a97-73036c94ed2d") | | typedef interface DECLSPEC_UUID("9f50e42c-f136-499e-9a97-73036c94ed2d") |
| IDebugInputCallbacks* PDEBUG_INPUT_CALLBACKS; | | IDebugInputCallbacks* PDEBUG_INPUT_CALLBACKS; |
| typedef interface DECLSPEC_UUID("4bf58045-d654-4c40-b0af-683090f356dc") | | typedef interface DECLSPEC_UUID("4bf58045-d654-4c40-b0af-683090f356dc") |
| IDebugOutputCallbacks* PDEBUG_OUTPUT_CALLBACKS; | | IDebugOutputCallbacks* PDEBUG_OUTPUT_CALLBACKS; |
| typedef interface DECLSPEC_UUID("4c7fd663-c394-4e26-8ef1-34ad5ed3764c") | | typedef interface DECLSPEC_UUID("4c7fd663-c394-4e26-8ef1-34ad5ed3764c") |
| IDebugOutputCallbacksWide* PDEBUG_OUTPUT_CALLBACKS_WIDE; | | IDebugOutputCallbacksWide* PDEBUG_OUTPUT_CALLBACKS_WIDE; |
|
| | typedef interface DECLSPEC_UUID("67721fe9-56d2-4a44-a325-2b65513ce6eb") |
| | IDebugOutputCallbacks2* PDEBUG_OUTPUT_CALLBACKS2; |
| typedef interface DECLSPEC_UUID("ce289126-9e84-45a7-937e-67bb18691493") | | typedef interface DECLSPEC_UUID("ce289126-9e84-45a7-937e-67bb18691493") |
| IDebugRegisters* PDEBUG_REGISTERS; | | IDebugRegisters* PDEBUG_REGISTERS; |
| typedef interface DECLSPEC_UUID("1656afa9-19c6-4e3a-97e7-5dc9160cf9c4") | | typedef interface DECLSPEC_UUID("1656afa9-19c6-4e3a-97e7-5dc9160cf9c4") |
| IDebugRegisters2* PDEBUG_REGISTERS2; | | IDebugRegisters2* PDEBUG_REGISTERS2; |
| typedef interface DECLSPEC_UUID("f2528316-0f1a-4431-aeed-11d096e1e2ab") | | typedef interface DECLSPEC_UUID("f2528316-0f1a-4431-aeed-11d096e1e2ab") |
| IDebugSymbolGroup* PDEBUG_SYMBOL_GROUP; | | IDebugSymbolGroup* PDEBUG_SYMBOL_GROUP; |
| typedef interface DECLSPEC_UUID("6a7ccc5f-fb5e-4dcc-b41c-6c20307bccc7") | | typedef interface DECLSPEC_UUID("6a7ccc5f-fb5e-4dcc-b41c-6c20307bccc7") |
| IDebugSymbolGroup2* PDEBUG_SYMBOL_GROUP2; | | IDebugSymbolGroup2* PDEBUG_SYMBOL_GROUP2; |
| typedef interface DECLSPEC_UUID("8c31e98c-983a-48a5-9016-6fe5d667a950") | | typedef interface DECLSPEC_UUID("8c31e98c-983a-48a5-9016-6fe5d667a950") |
| IDebugSymbols* PDEBUG_SYMBOLS; | | IDebugSymbols* PDEBUG_SYMBOLS; |
| | |
| skipping to change at line 327 | | skipping to change at line 332 |
| typedef struct _DEBUG_READ_USER_MINIDUMP_STREAM | | typedef struct _DEBUG_READ_USER_MINIDUMP_STREAM |
| { | | { |
| IN ULONG StreamType; | | IN ULONG StreamType; |
| IN ULONG Flags; | | IN ULONG Flags; |
| IN ULONG64 Offset; | | IN ULONG64 Offset; |
| OUT PVOID Buffer; | | OUT PVOID Buffer; |
| IN ULONG BufferSize; | | IN ULONG BufferSize; |
| OUT ULONG BufferUsed; | | OUT ULONG BufferUsed; |
| } DEBUG_READ_USER_MINIDUMP_STREAM, *PDEBUG_READ_USER_MINIDUMP_STREAM; | | } DEBUG_READ_USER_MINIDUMP_STREAM, *PDEBUG_READ_USER_MINIDUMP_STREAM; |
| | |
|
| | #define DEBUG_GET_TEXT_COMPLETIONS_NO_DOT_COMMANDS 0x00000001 |
| | #define DEBUG_GET_TEXT_COMPLETIONS_NO_EXTENSION_COMMANDS 0x00000002 |
| | #define DEBUG_GET_TEXT_COMPLETIONS_NO_SYMBOLS 0x00000004 |
| | |
| | typedef struct _DEBUG_GET_TEXT_COMPLETIONS_IN |
| | { |
| | ULONG Flags; |
| | ULONG MatchCountLimit; |
| | ULONG64 Reserved[3]; |
| | // Input text string follows. |
| | } DEBUG_GET_TEXT_COMPLETIONS_IN, *PDEBUG_GET_TEXT_COMPLETIONS_IN; |
| | |
| | #define DEBUG_GET_TEXT_COMPLETIONS_IS_DOT_COMMAND 0x00000001 |
| | #define DEBUG_GET_TEXT_COMPLETIONS_IS_EXTENSION_COMMAND 0x00000002 |
| | #define DEBUG_GET_TEXT_COMPLETIONS_IS_SYMBOL 0x00000004 |
| | |
| | typedef struct _DEBUG_GET_TEXT_COMPLETIONS_OUT |
| | { |
| | ULONG Flags; |
| | // Char index in input string where completions start. |
| | ULONG ReplaceIndex; |
| | ULONG MatchCount; |
| | ULONG Reserved1; |
| | ULONG64 Reserved2[2]; |
| | // Completions follow. |
| | // Completion data is zero-terminated strings ended |
| | // by a final zero double-terminator. |
| | } DEBUG_GET_TEXT_COMPLETIONS_OUT, *PDEBUG_GET_TEXT_COMPLETIONS_OUT; |
| | |
| | typedef struct _DEBUG_CACHED_SYMBOL_INFO |
| | { |
| | ULONG64 ModBase; |
| | ULONG64 Arg1; |
| | ULONG64 Arg2; |
| | ULONG Id; |
| | ULONG Arg3; |
| | } DEBUG_CACHED_SYMBOL_INFO, *PDEBUG_CACHED_SYMBOL_INFO; |
| | |
| // | | // |
| // Request requests. | | // Request requests. |
| // | | // |
| | |
| // InBuffer - Unused. | | // InBuffer - Unused. |
| // OutBuffer - Unused. | | // OutBuffer - Unused. |
| #define DEBUG_REQUEST_SOURCE_PATH_HAS_SOURCE_SERVER 0 | | #define DEBUG_REQUEST_SOURCE_PATH_HAS_SOURCE_SERVER 0 |
| | |
| // InBuffer - Unused. | | // InBuffer - Unused. |
| // OutBuffer - Machine-specific CONTEXT. | | // OutBuffer - Machine-specific CONTEXT. |
| | |
| skipping to change at line 387 | | skipping to change at line 430 |
| #define DEBUG_REQUEST_READ_CAPTURED_EVENT_CODE_STREAM 11 | | #define DEBUG_REQUEST_READ_CAPTURED_EVENT_CODE_STREAM 11 |
| | |
| // InBuffer - Input data block. | | // InBuffer - Input data block. |
| // OutBuffer - Processed data block. | | // OutBuffer - Processed data block. |
| #define DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 12 | | #define DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 12 |
| | |
| // InBuffer - Unused. | | // InBuffer - Unused. |
| // OutBuffer - Returned path. | | // OutBuffer - Returned path. |
| #define DEBUG_REQUEST_GET_EXTENSION_SEARCH_PATH_WIDE 13 | | #define DEBUG_REQUEST_GET_EXTENSION_SEARCH_PATH_WIDE 13 |
| | |
|
| | // InBuffer - DEBUG_GET_TEXT_COMPLETIONS_IN. |
| | // OutBuffer - DEBUG_GET_TEXT_COMPLETIONS_OUT. |
| | #define DEBUG_REQUEST_GET_TEXT_COMPLETIONS_WIDE 14 |
| | |
| | // InBuffer - ULONG64 cookie. |
| | // OutBuffer - DEBUG_CACHED_SYMBOL_INFO. |
| | #define DEBUG_REQUEST_GET_CACHED_SYMBOL_INFO 15 |
| | |
| | // InBuffer - DEBUG_CACHED_SYMBOL_INFO. |
| | // OutBuffer - ULONG64 cookie. |
| | #define DEBUG_REQUEST_ADD_CACHED_SYMBOL_INFO 16 |
| | |
| | // InBuffer - ULONG64 cookie. |
| | // OutBuffer - Unused. |
| | #define DEBUG_REQUEST_REMOVE_CACHED_SYMBOL_INFO 17 |
| | |
| | // InBuffer - DEBUG_GET_TEXT_COMPLETIONS_IN. |
| | // OutBuffer - DEBUG_GET_TEXT_COMPLETIONS_OUT. |
| | #define DEBUG_REQUEST_GET_TEXT_COMPLETIONS_ANSI 18 |
| | |
| | // InBuffer - Unused. |
| | // OutBuffer - Unused. |
| | #define DEBUG_REQUEST_CURRENT_OUTPUT_CALLBACKS_ARE_DML_AWARE 19 |
| | |
| | // InBuffer - ULONG64 offset. |
| | // OutBuffer - Unwind information. |
| | #define DEBUG_REQUEST_GET_OFFSET_UNWIND_INFORMATION 20 |
| | |
| | // InBuffer - Unused |
| | // OutBuffer - returned DUMP_HEADER32/DUMP_HEADER64 structure. |
| | #define DEBUG_REQUEST_GET_DUMP_HEADER 21 |
| | |
| | // InBuffer - DUMP_HEADER32/DUMP_HEADER64 structure. |
| | // OutBuffer - Unused |
| | #define DEBUG_REQUEST_SET_DUMP_HEADER 22 |
| | |
| | // InBuffer - Midori specific |
| | // OutBuffer - Midori specific |
| | #define DEBUG_REQUEST_MIDORI 23 |
| | |
| | // InBuffer - Unused |
| | // OutBuffer - PROCESS_NAME_ENTRY blocks |
| | #define DEBUG_REQUEST_PROCESS_DESCRIPTORS 24 |
| | |
| | // InBuffer - Unused |
| | // OutBuffer - MINIDUMP_MISC_INFO_N blocks |
| | #define DEBUG_REQUEST_MISC_INFORMATION 25 |
| | |
| | // InBuffer - Unused |
| | // OutBuffer - ULONG64 as TokenHandle value |
| | #define DEBUG_REQUEST_OPEN_PROCESS_TOKEN 26 |
| | |
| | // InBuffer - Unused |
| | // OutBuffer - ULONG64 as TokenHandle value |
| | #define DEBUG_REQUEST_OPEN_THREAD_TOKEN 27 |
| | |
| | // InBuffer - ULONG64 as TokenHandle being duplicated |
| | // OutBuffer - ULONG64 as new duplicated TokenHandle |
| | #define DEBUG_REQUEST_DUPLICATE_TOKEN 28 |
| | |
| | // InBuffer - a ULONG64 as TokenHandle and a ULONG as NtQueryInformationToken() |
| | request code |
| | // OutBuffer - NtQueryInformationToken() return |
| | #define DEBUG_REQUEST_QUERY_INFO_TOKEN 29 |
| | |
| | // InBuffer - ULONG64 as TokenHandle |
| | // OutBuffer - Unused |
| | #define DEBUG_REQUEST_CLOSE_TOKEN 30 |
| | |
| // | | // |
| // GetSourceFileInformation requests. | | // GetSourceFileInformation requests. |
| // | | // |
| | |
| // Arg64 - Module base. | | // Arg64 - Module base. |
| // Arg32 - Unused. | | // Arg32 - Unused. |
| #define DEBUG_SRCFILE_SYMBOL_TOKEN 0 | | #define DEBUG_SRCFILE_SYMBOL_TOKEN 0 |
| | |
| // Arg64 - Module base. | | // Arg64 - Module base. |
| // Arg32 - Unused. | | // Arg32 - Unused. |
| | |
| skipping to change at line 436 | | skipping to change at line 547 |
| // strings are zero-terminated and the final string in | | // strings are zero-terminated and the final string in |
| // a symbol is double-zero-terminated. | | // a symbol is double-zero-terminated. |
| #define DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS 3 | | #define DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS 3 |
| | |
| // | | // |
| // GetSystemObjectInformation requests. | | // GetSystemObjectInformation requests. |
| // | | // |
| | |
| // Arg64 - Unused. | | // Arg64 - Unused. |
| // Arg32 - Debugger thread ID. | | // Arg32 - Debugger thread ID. |
|
| | // Buffer - DEBUG_THREAD_BASIC_INFORMATION. |
| #define DEBUG_SYSOBJINFO_THREAD_BASIC_INFORMATION 0 | | #define DEBUG_SYSOBJINFO_THREAD_BASIC_INFORMATION 0 |
| | |
|
| | // Arg64 - Unused. |
| | // Arg32 - Debugger thread ID. |
| | // Buffer - Unicode name string. |
| | #define DEBUG_SYSOBJINFO_THREAD_NAME_WIDE 1 |
| | |
| | // Arg64 - Unused. |
| | // Arg32 - Unused. |
| | // Buffer - ULONG cookie value. |
| | #define DEBUG_SYSOBJINFO_CURRENT_PROCESS_COOKIE 2 |
| | |
| #define DEBUG_TBINFO_EXIT_STATUS 0x00000001 | | #define DEBUG_TBINFO_EXIT_STATUS 0x00000001 |
| #define DEBUG_TBINFO_PRIORITY_CLASS 0x00000002 | | #define DEBUG_TBINFO_PRIORITY_CLASS 0x00000002 |
| #define DEBUG_TBINFO_PRIORITY 0x00000004 | | #define DEBUG_TBINFO_PRIORITY 0x00000004 |
| #define DEBUG_TBINFO_TIMES 0x00000008 | | #define DEBUG_TBINFO_TIMES 0x00000008 |
| #define DEBUG_TBINFO_START_OFFSET 0x00000010 | | #define DEBUG_TBINFO_START_OFFSET 0x00000010 |
| #define DEBUG_TBINFO_AFFINITY 0x00000020 | | #define DEBUG_TBINFO_AFFINITY 0x00000020 |
| #define DEBUG_TBINFO_ALL 0x0000003f | | #define DEBUG_TBINFO_ALL 0x0000003f |
| | |
| typedef struct _DEBUG_THREAD_BASIC_INFORMATION | | typedef struct _DEBUG_THREAD_BASIC_INFORMATION |
| { | | { |
| | |
| skipping to change at line 1357 | | skipping to change at line 1479 |
| // for debugging the debugger. Output | | // for debugging the debugger. Output |
| // may only occur in debug builds. | | // may only occur in debug builds. |
| // KD protocol output. | | // KD protocol output. |
| #define DEBUG_IOUTPUT_KD_PROTOCOL 0x80000000 | | #define DEBUG_IOUTPUT_KD_PROTOCOL 0x80000000 |
| // Remoting output. | | // Remoting output. |
| #define DEBUG_IOUTPUT_REMOTING 0x40000000 | | #define DEBUG_IOUTPUT_REMOTING 0x40000000 |
| // Breakpoint output. | | // Breakpoint output. |
| #define DEBUG_IOUTPUT_BREAKPOINT 0x20000000 | | #define DEBUG_IOUTPUT_BREAKPOINT 0x20000000 |
| // Event output. | | // Event output. |
| #define DEBUG_IOUTPUT_EVENT 0x10000000 | | #define DEBUG_IOUTPUT_EVENT 0x10000000 |
|
| | // Virtual/Physical address translation |
| | #define DEBUG_IOUTPUT_ADDR_TRANSLATE 0x08000000 |
| | |
| // OutputIdentity flags. | | // OutputIdentity flags. |
| #define DEBUG_OUTPUT_IDENTITY_DEFAULT 0x00000000 | | #define DEBUG_OUTPUT_IDENTITY_DEFAULT 0x00000000 |
| | |
| #undef INTERFACE | | #undef INTERFACE |
| #define INTERFACE IDebugClient | | #define INTERFACE IDebugClient |
| DECLARE_INTERFACE_(IDebugClient, IUnknown) | | DECLARE_INTERFACE_(IDebugClient, IUnknown) |
| { | | { |
| // IUnknown. | | // IUnknown. |
| STDMETHOD(QueryInterface)( | | STDMETHOD(QueryInterface)( |
| | |
| skipping to change at line 1750 | | skipping to change at line 1874 |
| // output are collected into larger groups to | | // output are collected into larger groups to |
| // reduce the overall number of output callback calls. | | // reduce the overall number of output callback calls. |
| // A client can use this method to force all pending | | // A client can use this method to force all pending |
| // callbacks to be delivered. This is rarely necessary. | | // callbacks to be delivered. This is rarely necessary. |
| STDMETHOD(FlushCallbacks)( | | STDMETHOD(FlushCallbacks)( |
| THIS | | THIS |
| ) PURE; | | ) PURE; |
| }; | | }; |
| | |
| // Per-dump-format control flags. | | // Per-dump-format control flags. |
|
| #define DEBUG_FORMAT_DEFAULT 0x00000000 | | #define DEBUG_FORMAT_DEFAULT 0x00000000 |
| | // When creating a CAB with secondary images do searches |
| | // for all image files, regardless of whether they're |
| | // needed for the current session or not. |
| | #define DEBUG_FORMAT_CAB_SECONDARY_ALL_IMAGES 0x10000000 |
| // Write dump to a temporary file, then package it | | // Write dump to a temporary file, then package it |
| // into a CAB file and delete the temporary file. | | // into a CAB file and delete the temporary file. |
|
| #define DEBUG_FORMAT_WRITE_CAB 0x20000000 | | #define DEBUG_FORMAT_WRITE_CAB 0x20000000 |
| // When creating a CAB add secondary files such as | | // When creating a CAB add secondary files such as |
| // current symbols and mapped images. | | // current symbols and mapped images. |
|
| #define DEBUG_FORMAT_CAB_SECONDARY_FILES 0x40000000 | | #define DEBUG_FORMAT_CAB_SECONDARY_FILES 0x40000000 |
| // Don't overwrite existing files. | | // Don't overwrite existing files. |
|
| #define DEBUG_FORMAT_NO_OVERWRITE 0x80000000 | | #define DEBUG_FORMAT_NO_OVERWRITE 0x80000000 |
| | |
| #define DEBUG_FORMAT_USER_SMALL_FULL_MEMORY 0x00000001 | | #define DEBUG_FORMAT_USER_SMALL_FULL_MEMORY 0x00000001 |
| #define DEBUG_FORMAT_USER_SMALL_HANDLE_DATA 0x00000002 | | #define DEBUG_FORMAT_USER_SMALL_HANDLE_DATA 0x00000002 |
| #define DEBUG_FORMAT_USER_SMALL_UNLOADED_MODULES 0x00000004 | | #define DEBUG_FORMAT_USER_SMALL_UNLOADED_MODULES 0x00000004 |
| #define DEBUG_FORMAT_USER_SMALL_INDIRECT_MEMORY 0x00000008 | | #define DEBUG_FORMAT_USER_SMALL_INDIRECT_MEMORY 0x00000008 |
| #define DEBUG_FORMAT_USER_SMALL_DATA_SEGMENTS 0x00000010 | | #define DEBUG_FORMAT_USER_SMALL_DATA_SEGMENTS 0x00000010 |
| #define DEBUG_FORMAT_USER_SMALL_FILTER_MEMORY 0x00000020 | | #define DEBUG_FORMAT_USER_SMALL_FILTER_MEMORY 0x00000020 |
| #define DEBUG_FORMAT_USER_SMALL_FILTER_PATHS 0x00000040 | | #define DEBUG_FORMAT_USER_SMALL_FILTER_PATHS 0x00000040 |
| #define DEBUG_FORMAT_USER_SMALL_PROCESS_THREAD_DATA 0x00000080 | | #define DEBUG_FORMAT_USER_SMALL_PROCESS_THREAD_DATA 0x00000080 |
| #define DEBUG_FORMAT_USER_SMALL_PRIVATE_READ_WRITE_MEMORY 0x00000100 | | #define DEBUG_FORMAT_USER_SMALL_PRIVATE_READ_WRITE_MEMORY 0x00000100 |
| #define DEBUG_FORMAT_USER_SMALL_NO_OPTIONAL_DATA 0x00000200 | | #define DEBUG_FORMAT_USER_SMALL_NO_OPTIONAL_DATA 0x00000200 |
| #define DEBUG_FORMAT_USER_SMALL_FULL_MEMORY_INFO 0x00000400 | | #define DEBUG_FORMAT_USER_SMALL_FULL_MEMORY_INFO 0x00000400 |
| #define DEBUG_FORMAT_USER_SMALL_THREAD_INFO 0x00000800 | | #define DEBUG_FORMAT_USER_SMALL_THREAD_INFO 0x00000800 |
| #define DEBUG_FORMAT_USER_SMALL_CODE_SEGMENTS 0x00001000 | | #define DEBUG_FORMAT_USER_SMALL_CODE_SEGMENTS 0x00001000 |
| #define DEBUG_FORMAT_USER_SMALL_NO_AUXILIARY_STATE 0x00002000 | | #define DEBUG_FORMAT_USER_SMALL_NO_AUXILIARY_STATE 0x00002000 |
| #define DEBUG_FORMAT_USER_SMALL_FULL_AUXILIARY_STATE 0x00004000 | | #define DEBUG_FORMAT_USER_SMALL_FULL_AUXILIARY_STATE 0x00004000 |
|
| | #define DEBUG_FORMAT_USER_SMALL_IGNORE_INACCESSIBLE_MEM 0x08000000 |
| | |
| // | | // |
| // Dump information file types. | | // Dump information file types. |
| // | | // |
| | |
| // Base dump file, returned when querying for dump files. | | // Base dump file, returned when querying for dump files. |
| #define DEBUG_DUMP_FILE_BASE 0xffffffff | | #define DEBUG_DUMP_FILE_BASE 0xffffffff |
| // Single file containing packed page file information. | | // Single file containing packed page file information. |
| #define DEBUG_DUMP_FILE_PAGE_FILE_DUMP 0x00000000 | | #define DEBUG_DUMP_FILE_PAGE_FILE_DUMP 0x00000000 |
| | |
| | |
| skipping to change at line 4088 | | skipping to change at line 4217 |
| // Output will be logged but not sent to callbacks. | | // Output will be logged but not sent to callbacks. |
| #define DEBUG_OUTCTL_LOG_ONLY 0x00000004 | | #define DEBUG_OUTCTL_LOG_ONLY 0x00000004 |
| // All send control bits. | | // All send control bits. |
| #define DEBUG_OUTCTL_SEND_MASK 0x00000007 | | #define DEBUG_OUTCTL_SEND_MASK 0x00000007 |
| // Do not place output from this client in | | // Do not place output from this client in |
| // the global log file. | | // the global log file. |
| #define DEBUG_OUTCTL_NOT_LOGGED 0x00000008 | | #define DEBUG_OUTCTL_NOT_LOGGED 0x00000008 |
| // Send output to clients regardless of whether the | | // Send output to clients regardless of whether the |
| // mask allows it or not. | | // mask allows it or not. |
| #define DEBUG_OUTCTL_OVERRIDE_MASK 0x00000010 | | #define DEBUG_OUTCTL_OVERRIDE_MASK 0x00000010 |
|
| | // Text is markup instead of plain text. |
| | #define DEBUG_OUTCTL_DML 0x00000020 |
| | |
|
| // Special value which means leave the output settings | | // Special values which mean leave the output settings |
| // unchanged. | | // unchanged. |
|
| #define DEBUG_OUTCTL_AMBIENT 0xffffffff | | #define DEBUG_OUTCTL_AMBIENT_DML 0xfffffffe |
| | #define DEBUG_OUTCTL_AMBIENT_TEXT 0xffffffff |
| | |
| | // Old ambient flag which maps to text. |
| | #define DEBUG_OUTCTL_AMBIENT DEBUG_OUTCTL_AMBIENT_TEXT |
| | |
| // Interrupt types. | | // Interrupt types. |
| // Force a break in if the debuggee is running. | | // Force a break in if the debuggee is running. |
| #define DEBUG_INTERRUPT_ACTIVE 0 | | #define DEBUG_INTERRUPT_ACTIVE 0 |
| // Notify but do not force a break in. | | // Notify but do not force a break in. |
| #define DEBUG_INTERRUPT_PASSIVE 1 | | #define DEBUG_INTERRUPT_PASSIVE 1 |
| // Try and get the current engine operation to | | // Try and get the current engine operation to |
| // complete so that the engine will be available | | // complete so that the engine will be available |
| // again. If no wait is active this is the same | | // again. If no wait is active this is the same |
| // as a passive interrupt. If a wait is active | | // as a passive interrupt. If a wait is active |
| | |
| skipping to change at line 4225 | | skipping to change at line 4360 |
| // Disables symbol loading for all modules created | | // Disables symbol loading for all modules created |
| // after this flag is set. | | // after this flag is set. |
| #define DEBUG_ENGOPT_DISABLE_MODULE_SYMBOL_LOAD 0x00008000 | | #define DEBUG_ENGOPT_DISABLE_MODULE_SYMBOL_LOAD 0x00008000 |
| // Disables execution commands. | | // Disables execution commands. |
| #define DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS 0x00010000 | | #define DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS 0x00010000 |
| // Disallows mapping of image files from disk for any use. | | // Disallows mapping of image files from disk for any use. |
| // For example, this disallows image mapping for memory | | // For example, this disallows image mapping for memory |
| // content when debugging minidumps. | | // content when debugging minidumps. |
| // Does not affect existing mappings, only future attempts. | | // Does not affect existing mappings, only future attempts. |
| #define DEBUG_ENGOPT_DISALLOW_IMAGE_FILE_MAPPING 0x00020000 | | #define DEBUG_ENGOPT_DISALLOW_IMAGE_FILE_MAPPING 0x00020000 |
|
| #define DEBUG_ENGOPT_ALL 0x0003FFFF | | // Requests that dbgeng run DML-enhanced versions of commands |
| | // and operations by default. |
| | #define DEBUG_ENGOPT_PREFER_DML 0x00040000 |
| | #define DEBUG_ENGOPT_ALL 0x0007FFFF |
| | |
| // General unspecified ID constant. | | // General unspecified ID constant. |
| #define DEBUG_ANY_ID 0xffffffff | | #define DEBUG_ANY_ID 0xffffffff |
| | |
| typedef struct _DEBUG_STACK_FRAME | | typedef struct _DEBUG_STACK_FRAME |
| { | | { |
| ULONG64 InstructionOffset; | | ULONG64 InstructionOffset; |
| ULONG64 ReturnOffset; | | ULONG64 ReturnOffset; |
| ULONG64 FrameOffset; | | ULONG64 FrameOffset; |
| ULONG64 StackOffset; | | ULONG64 StackOffset; |
| | |
| skipping to change at line 4278 | | skipping to change at line 4416 |
| // Show frame numbers | | // Show frame numbers |
| #define DEBUG_STACK_FRAME_NUMBERS 0x00000040 | | #define DEBUG_STACK_FRAME_NUMBERS 0x00000040 |
| // Show typed source parameters. | | // Show typed source parameters. |
| #define DEBUG_STACK_PARAMETERS 0x00000080 | | #define DEBUG_STACK_PARAMETERS 0x00000080 |
| // Show just return address in stack frame addresses. | | // Show just return address in stack frame addresses. |
| #define DEBUG_STACK_FRAME_ADDRESSES_RA_ONLY 0x00000100 | | #define DEBUG_STACK_FRAME_ADDRESSES_RA_ONLY 0x00000100 |
| // Show frame-to-frame memory usage. | | // Show frame-to-frame memory usage. |
| #define DEBUG_STACK_FRAME_MEMORY_USAGE 0x00000200 | | #define DEBUG_STACK_FRAME_MEMORY_USAGE 0x00000200 |
| // Show typed source parameters one to a line. | | // Show typed source parameters one to a line. |
| #define DEBUG_STACK_PARAMETERS_NEWLINE 0x00000400 | | #define DEBUG_STACK_PARAMETERS_NEWLINE 0x00000400 |
|
| | // Produce stack output enhanced with DML content. |
| | #define DEBUG_STACK_DML 0x00000800 |
| | // Show offset from stack frame |
| | #define DEBUG_STACK_FRAME_OFFSETS 0x00001000 |
| | |
| // Classes of debuggee. Each class | | // Classes of debuggee. Each class |
| // has different qualifiers for specific | | // has different qualifiers for specific |
| // kinds of debuggees. | | // kinds of debuggees. |
| #define DEBUG_CLASS_UNINITIALIZED 0 | | #define DEBUG_CLASS_UNINITIALIZED 0 |
| #define DEBUG_CLASS_KERNEL 1 | | #define DEBUG_CLASS_KERNEL 1 |
| #define DEBUG_CLASS_USER_WINDOWS 2 | | #define DEBUG_CLASS_USER_WINDOWS 2 |
| #define DEBUG_CLASS_IMAGE_FILE 3 | | #define DEBUG_CLASS_IMAGE_FILE 3 |
| | |
| // Generic dump types. These can be used | | // Generic dump types. These can be used |
| | |
| skipping to change at line 4302 | | skipping to change at line 4444 |
| #define DEBUG_DUMP_DEFAULT 1025 | | #define DEBUG_DUMP_DEFAULT 1025 |
| #define DEBUG_DUMP_FULL 1026 | | #define DEBUG_DUMP_FULL 1026 |
| #define DEBUG_DUMP_IMAGE_FILE 1027 | | #define DEBUG_DUMP_IMAGE_FILE 1027 |
| #define DEBUG_DUMP_TRACE_LOG 1028 | | #define DEBUG_DUMP_TRACE_LOG 1028 |
| #define DEBUG_DUMP_WINDOWS_CE 1029 | | #define DEBUG_DUMP_WINDOWS_CE 1029 |
| | |
| // Specific types of kernel debuggees. | | // Specific types of kernel debuggees. |
| #define DEBUG_KERNEL_CONNECTION 0 | | #define DEBUG_KERNEL_CONNECTION 0 |
| #define DEBUG_KERNEL_LOCAL 1 | | #define DEBUG_KERNEL_LOCAL 1 |
| #define DEBUG_KERNEL_EXDI_DRIVER 2 | | #define DEBUG_KERNEL_EXDI_DRIVER 2 |
|
| | #define DEBUG_KERNEL_IDNA 3 |
| | |
| #define DEBUG_KERNEL_SMALL_DUMP DEBUG_DUMP_SMALL | | #define DEBUG_KERNEL_SMALL_DUMP DEBUG_DUMP_SMALL |
| #define DEBUG_KERNEL_DUMP DEBUG_DUMP_DEFAULT | | #define DEBUG_KERNEL_DUMP DEBUG_DUMP_DEFAULT |
| #define DEBUG_KERNEL_FULL_DUMP DEBUG_DUMP_FULL | | #define DEBUG_KERNEL_FULL_DUMP DEBUG_DUMP_FULL |
| | |
| #define DEBUG_KERNEL_TRACE_LOG DEBUG_DUMP_TRACE_LOG | | #define DEBUG_KERNEL_TRACE_LOG DEBUG_DUMP_TRACE_LOG |
| | |
| // Specific types of Windows user debuggees. | | // Specific types of Windows user debuggees. |
| #define DEBUG_USER_WINDOWS_PROCESS 0 | | #define DEBUG_USER_WINDOWS_PROCESS 0 |
| #define DEBUG_USER_WINDOWS_PROCESS_SERVER 1 | | #define DEBUG_USER_WINDOWS_PROCESS_SERVER 1 |
| | |
| skipping to change at line 7341 | | skipping to change at line 7484 |
| ) PURE; | | ) PURE; |
| }; | | }; |
| | |
| // | | // |
| // Log file flags. | | // Log file flags. |
| // | | // |
| | |
| #define DEBUG_LOG_DEFAULT 0x00000000 | | #define DEBUG_LOG_DEFAULT 0x00000000 |
| #define DEBUG_LOG_APPEND 0x00000001 | | #define DEBUG_LOG_APPEND 0x00000001 |
| #define DEBUG_LOG_UNICODE 0x00000002 | | #define DEBUG_LOG_UNICODE 0x00000002 |
|
| | #define DEBUG_LOG_DML 0x00000004 |
| | |
| // | | // |
| // System version strings. | | // System version strings. |
| // | | // |
| | |
| #define DEBUG_SYSVERSTR_SERVICE_PACK 0x00000000 | | #define DEBUG_SYSVERSTR_SERVICE_PACK 0x00000000 |
| #define DEBUG_SYSVERSTR_BUILD 0x00000001 | | #define DEBUG_SYSVERSTR_BUILD 0x00000001 |
| | |
| // | | // |
| // GetManagedStatus flags and strings. | | // GetManagedStatus flags and strings. |
| | |
| skipping to change at line 8395 | | skipping to change at line 8539 |
| __out PBOOL Append | | __out PBOOL Append |
| ) PURE; | | ) PURE; |
| STDMETHOD(OpenLogFileWide)( | | STDMETHOD(OpenLogFileWide)( |
| THIS_ | | THIS_ |
| __in PCWSTR File, | | __in PCWSTR File, |
| __in BOOL Append | | __in BOOL Append |
| ) PURE; | | ) PURE; |
| | |
| STDMETHOD(InputWide)( | | STDMETHOD(InputWide)( |
| THIS_ | | THIS_ |
|
| __out PWSTR Buffer, | | __out_ecount(BufferSize) PWSTR Buffer, |
| __in ULONG BufferSize, | | __in ULONG BufferSize, |
| __out_opt PULONG InputSize | | __out_opt PULONG InputSize |
| ) PURE; | | ) PURE; |
| STDMETHOD(ReturnInputWide)( | | STDMETHOD(ReturnInputWide)( |
| THIS_ | | THIS_ |
| __in PCWSTR Buffer | | __in PCWSTR Buffer |
| ) PURE; | | ) PURE; |
| | |
| STDMETHODV(OutputWide)( | | STDMETHODV(OutputWide)( |
| THIS_ | | THIS_ |
| | |
| skipping to change at line 8900 | | skipping to change at line 9044 |
| #define DEBUG_DATA_SizePrcb 688 | | #define DEBUG_DATA_SizePrcb 688 |
| #define DEBUG_DATA_OffsetPrcbDpcRoutine 690 | | #define DEBUG_DATA_OffsetPrcbDpcRoutine 690 |
| #define DEBUG_DATA_OffsetPrcbCurrentThread 692 | | #define DEBUG_DATA_OffsetPrcbCurrentThread 692 |
| #define DEBUG_DATA_OffsetPrcbMhz 694 | | #define DEBUG_DATA_OffsetPrcbMhz 694 |
| #define DEBUG_DATA_OffsetPrcbCpuType 696 | | #define DEBUG_DATA_OffsetPrcbCpuType 696 |
| #define DEBUG_DATA_OffsetPrcbVendorString 698 | | #define DEBUG_DATA_OffsetPrcbVendorString 698 |
| #define DEBUG_DATA_OffsetPrcbProcessorState 700 | | #define DEBUG_DATA_OffsetPrcbProcessorState 700 |
| #define DEBUG_DATA_OffsetPrcbNumber 702 | | #define DEBUG_DATA_OffsetPrcbNumber 702 |
| #define DEBUG_DATA_SizeEThread 704 | | #define DEBUG_DATA_SizeEThread 704 |
| #define DEBUG_DATA_KdPrintCircularBufferPtrAddr 712 | | #define DEBUG_DATA_KdPrintCircularBufferPtrAddr 712 |
|
| #define DEBUG_DATA_KdPrintBufferSizeAddr 720 | | #define DEBUG_DATA_KdPrintBufferSizeAddr 720 |
| #define DEBUG_DATA_MmBadPagesDetected 800 | | #define DEBUG_DATA_MmBadPagesDetected 800 |
| | #define DEBUG_DATA_EtwpDebuggerData 816 |
| | |
| #define DEBUG_DATA_PaeEnabled 100000 | | #define DEBUG_DATA_PaeEnabled 100000 |
| #define DEBUG_DATA_SharedUserData 100008 | | #define DEBUG_DATA_SharedUserData 100008 |
| #define DEBUG_DATA_ProductType 100016 | | #define DEBUG_DATA_ProductType 100016 |
| #define DEBUG_DATA_SuiteMask 100024 | | #define DEBUG_DATA_SuiteMask 100024 |
| #define DEBUG_DATA_DumpWriterStatus 100032 | | #define DEBUG_DATA_DumpWriterStatus 100032 |
| #define DEBUG_DATA_DumpFormatVersion 100040 | | #define DEBUG_DATA_DumpFormatVersion 100040 |
| #define DEBUG_DATA_DumpWriterVersion 100048 | | #define DEBUG_DATA_DumpWriterVersion 100048 |
| #define DEBUG_DATA_DumpPowerState 100056 | | #define DEBUG_DATA_DumpPowerState 100056 |
| #define DEBUG_DATA_DumpMmStorage 100064 | | #define DEBUG_DATA_DumpMmStorage 100064 |
| | |
| skipping to change at line 9756 | | skipping to change at line 9901 |
| __out PULONG Size | | __out PULONG Size |
| ) PURE; | | ) PURE; |
| STDMETHOD(EndEnumTagged)( | | STDMETHOD(EndEnumTagged)( |
| THIS_ | | THIS_ |
| __in ULONG64 Handle | | __in ULONG64 Handle |
| ) PURE; | | ) PURE; |
| }; | | }; |
| | |
| #define DEBUG_OFFSINFO_VIRTUAL_SOURCE 0x00000001 | | #define DEBUG_OFFSINFO_VIRTUAL_SOURCE 0x00000001 |
| | |
|
| #define DEBUG_VSOURCE_INVALID 0x00000000 | | #define DEBUG_VSOURCE_INVALID 0x00000000 |
| #define DEBUG_VSOURCE_DEBUGGEE 0x00000001 | | #define DEBUG_VSOURCE_DEBUGGEE 0x00000001 |
| #define DEBUG_VSOURCE_MAPPED_IMAGE 0x00000002 | | #define DEBUG_VSOURCE_MAPPED_IMAGE 0x00000002 |
| | #define DEBUG_VSOURCE_DUMP_WITHOUT_MEMINFO 0x00000003 |
| | |
| #define DEBUG_VSEARCH_DEFAULT 0x00000000 | | #define DEBUG_VSEARCH_DEFAULT 0x00000000 |
| #define DEBUG_VSEARCH_WRITABLE_ONLY 0x00000001 | | #define DEBUG_VSEARCH_WRITABLE_ONLY 0x00000001 |
| | |
| #define DEBUG_PHYSICAL_DEFAULT 0x00000000 | | #define DEBUG_PHYSICAL_DEFAULT 0x00000000 |
| #define DEBUG_PHYSICAL_CACHED 0x00000001 | | #define DEBUG_PHYSICAL_CACHED 0x00000001 |
| #define DEBUG_PHYSICAL_UNCACHED 0x00000002 | | #define DEBUG_PHYSICAL_UNCACHED 0x00000002 |
| #define DEBUG_PHYSICAL_WRITE_COMBINED 0x00000003 | | #define DEBUG_PHYSICAL_WRITE_COMBINED 0x00000003 |
| | |
| #undef INTERFACE | | #undef INTERFACE |
| | |
| skipping to change at line 10719 | | skipping to change at line 10865 |
| // This method is only called if the supplied mask | | // This method is only called if the supplied mask |
| // is allowed by the clients output control. | | // is allowed by the clients output control. |
| // The return value is ignored. | | // The return value is ignored. |
| STDMETHOD(Output)( | | STDMETHOD(Output)( |
| THIS_ | | THIS_ |
| __in ULONG Mask, | | __in ULONG Mask, |
| __in PCWSTR Text | | __in PCWSTR Text |
| ) PURE; | | ) PURE; |
| }; | | }; |
| | |
|
| | // |
| | // IDebugOutputCallbacks2 interest mask flags. |
| | // |
| | |
| | // Indicates that the callback wants notifications |
| | // of all explicit flushes. |
| | #define DEBUG_OUTCBI_EXPLICIT_FLUSH 0x00000001 |
| | // Indicates that the callback wants |
| | // content in text form. |
| | #define DEBUG_OUTCBI_TEXT 0x00000002 |
| | // Indicates that the callback wants |
| | // content in markup form. |
| | #define DEBUG_OUTCBI_DML 0x00000004 |
| | |
| | #define DEBUG_OUTCBI_ANY_FORMAT 0x00000006 |
| | |
| | // |
| | // Different kinds of output callback notifications |
| | // that can be sent to Output2. |
| | // |
| | |
| | // Plain text content, flags are below, argument is mask. |
| | #define DEBUG_OUTCB_TEXT 0 |
| | // Debugger markup content, flags are below, argument is mask. |
| | #define DEBUG_OUTCB_DML 1 |
| | // Notification of an explicit output flush, flags and argument are zero. |
| | #define DEBUG_OUTCB_EXPLICIT_FLUSH 2 |
| | |
| | // |
| | // Flags for various Output2 callbacks. |
| | // |
| | |
| | // The content string was followed by an |
| | // explicit flush. This flag will be used |
| | // instead of a separate DEBUG_OUTCB_EXPLICIT_FLUSH |
| | // callback when a flush has text to flush, |
| | // thus avoiding two callbacks. |
| | #define DEBUG_OUTCBF_COMBINED_EXPLICIT_FLUSH 0x00000001 |
| | |
| | // The markup content string has embedded tags. |
| | #define DEBUG_OUTCBF_DML_HAS_TAGS 0x00000002 |
| | // The markup content has encoded special characters like ", &, < and >. |
| | #define DEBUG_OUTCBF_DML_HAS_SPECIAL_CHARACTERS 0x00000004 |
| | |
| | #undef INTERFACE |
| | #define INTERFACE IDebugOutputCallbacks2 |
| | DECLARE_INTERFACE_(IDebugOutputCallbacks2, IUnknown) |
| | { |
| | // IUnknown. |
| | STDMETHOD(QueryInterface)( |
| | THIS_ |
| | __in REFIID InterfaceId, |
| | __out PVOID* Interface |
| | ) PURE; |
| | STDMETHOD_(ULONG, AddRef)( |
| | THIS |
| | ) PURE; |
| | STDMETHOD_(ULONG, Release)( |
| | THIS |
| | ) PURE; |
| | |
| | // IDebugOutputCallbacks. |
| | |
| | // This method is not used. |
| | STDMETHOD(Output)( |
| | THIS_ |
| | __in ULONG Mask, |
| | __in PCSTR Text |
| | ) PURE; |
| | |
| | // IDebugOutputCallbacks2. |
| | |
| | // The engine calls GetInterestMask once when |
| | // the callbacks are set for a client. |
| | STDMETHOD(GetInterestMask)( |
| | THIS_ |
| | __out PULONG Mask |
| | ) PURE; |
| | |
| | STDMETHOD(Output2)( |
| | THIS_ |
| | __in ULONG Which, |
| | __in ULONG Flags, |
| | __in ULONG64 Arg, |
| | __in_opt PCWSTR Text |
| | ) PURE; |
| | }; |
| | |
| //---------------------------------------------------------------------------- | | //---------------------------------------------------------------------------- |
| // | | // |
| // IDebugRegisters. | | // IDebugRegisters. |
| // | | // |
| //---------------------------------------------------------------------------- | | //---------------------------------------------------------------------------- |
| | |
| #define DEBUG_REGISTERS_DEFAULT 0x00000000 | | #define DEBUG_REGISTERS_DEFAULT 0x00000000 |
| #define DEBUG_REGISTERS_INT32 0x00000001 | | #define DEBUG_REGISTERS_INT32 0x00000001 |
| #define DEBUG_REGISTERS_INT64 0x00000002 | | #define DEBUG_REGISTERS_INT64 0x00000002 |
| #define DEBUG_REGISTERS_FLOAT 0x00000004 | | #define DEBUG_REGISTERS_FLOAT 0x00000004 |
| | |
| skipping to change at line 11438 | | skipping to change at line 11672 |
| //---------------------------------------------------------------------------- | | //---------------------------------------------------------------------------- |
| | |
| // | | // |
| // Information about a module. | | // Information about a module. |
| // | | // |
| | |
| // Flags. | | // Flags. |
| #define DEBUG_MODULE_LOADED 0x00000000 | | #define DEBUG_MODULE_LOADED 0x00000000 |
| #define DEBUG_MODULE_UNLOADED 0x00000001 | | #define DEBUG_MODULE_UNLOADED 0x00000001 |
| #define DEBUG_MODULE_USER_MODE 0x00000002 | | #define DEBUG_MODULE_USER_MODE 0x00000002 |
|
| | #define DEBUG_MODULE_EXE_MODULE 0x00000004 |
| #define DEBUG_MODULE_EXPLICIT 0x00000008 | | #define DEBUG_MODULE_EXPLICIT 0x00000008 |
| #define DEBUG_MODULE_SECONDARY 0x00000010 | | #define DEBUG_MODULE_SECONDARY 0x00000010 |
| #define DEBUG_MODULE_SYNTHETIC 0x00000020 | | #define DEBUG_MODULE_SYNTHETIC 0x00000020 |
| #define DEBUG_MODULE_SYM_BAD_CHECKSUM 0x00010000 | | #define DEBUG_MODULE_SYM_BAD_CHECKSUM 0x00010000 |
| | |
| // Symbol types. | | // Symbol types. |
| #define DEBUG_SYMTYPE_NONE 0 | | #define DEBUG_SYMTYPE_NONE 0 |
| #define DEBUG_SYMTYPE_COFF 1 | | #define DEBUG_SYMTYPE_COFF 1 |
| #define DEBUG_SYMTYPE_CODEVIEW 2 | | #define DEBUG_SYMTYPE_CODEVIEW 2 |
| #define DEBUG_SYMTYPE_PDB 3 | | #define DEBUG_SYMTYPE_PDB 3 |
| | |
| skipping to change at line 11510 | | skipping to change at line 11745 |
| #define DEBUG_FIND_SOURCE_NO_SRCSRV 0x00000004 | | #define DEBUG_FIND_SOURCE_NO_SRCSRV 0x00000004 |
| // Restrict FindSourceFileAndToken to token lookup only. | | // Restrict FindSourceFileAndToken to token lookup only. |
| #define DEBUG_FIND_SOURCE_TOKEN_LOOKUP 0x00000008 | | #define DEBUG_FIND_SOURCE_TOKEN_LOOKUP 0x00000008 |
| | |
| // A special value marking an offset that should not | | // A special value marking an offset that should not |
| // be treated as a valid offset. This is only used | | // be treated as a valid offset. This is only used |
| // in special situations where it is unlikely that | | // in special situations where it is unlikely that |
| // this value would be a valid offset. | | // this value would be a valid offset. |
| #define DEBUG_INVALID_OFFSET ((ULONG64)-1) | | #define DEBUG_INVALID_OFFSET ((ULONG64)-1) |
| | |
|
| | // Module index sort order used by GetModuleByIndex() API. |
| | #define MODULE_ORDERS_MASK 0xF0000000 |
| | #define MODULE_ORDERS_LOADTIME 0x10000000 |
| | #define MODULE_ORDERS_MODULENAME 0x20000000 |
| | |
| #undef INTERFACE | | #undef INTERFACE |
| #define INTERFACE IDebugSymbols | | #define INTERFACE IDebugSymbols |
| DECLARE_INTERFACE_(IDebugSymbols, IUnknown) | | DECLARE_INTERFACE_(IDebugSymbols, IUnknown) |
| { | | { |
| // IUnknown. | | // IUnknown. |
| STDMETHOD(QueryInterface)( | | STDMETHOD(QueryInterface)( |
| THIS_ | | THIS_ |
| __in REFIID InterfaceId, | | __in REFIID InterfaceId, |
| __out PVOID* Interface | | __out PVOID* Interface |
| ) PURE; | | ) PURE; |
| | |
| skipping to change at line 15115 | | skipping to change at line 15355 |
| // | | // |
| // Extension callbacks. | | // Extension callbacks. |
| // | | // |
| //---------------------------------------------------------------------------- | | //---------------------------------------------------------------------------- |
| | |
| // Returns a version with the major version in | | // Returns a version with the major version in |
| // the high word and the minor version in the low word. | | // the high word and the minor version in the low word. |
| #define DEBUG_EXTENSION_VERSION(Major, Minor) \ | | #define DEBUG_EXTENSION_VERSION(Major, Minor) \ |
| ((((Major) & 0xffff) << 16) | ((Minor) & 0xffff)) | | ((((Major) & 0xffff) << 16) | ((Minor) & 0xffff)) |
| | |
|
| | // |
| | // Descriptive flags returned from extension initialization. |
| | // |
| | |
| | // Extension has a !help command which can give |
| | // per-command help. |
| | #define DEBUG_EXTINIT_HAS_COMMAND_HELP 0x00000001 |
| | |
| // Initialization routine. Called once when the extension DLL | | // Initialization routine. Called once when the extension DLL |
| // is loaded. Returns a version and returns flags detailing | | // is loaded. Returns a version and returns flags detailing |
| // overall qualities of the extension DLL. | | // overall qualities of the extension DLL. |
| // A session may or may not be active at the time the DLL | | // A session may or may not be active at the time the DLL |
| // is loaded so initialization routines should not expect | | // is loaded so initialization routines should not expect |
| // to be able to query session information. | | // to be able to query session information. |
| typedef HRESULT (CALLBACK* PDEBUG_EXTENSION_INITIALIZE) | | typedef HRESULT (CALLBACK* PDEBUG_EXTENSION_INITIALIZE) |
| (__out PULONG Version, __out PULONG Flags); | | (__out PULONG Version, __out PULONG Flags); |
| // Exit routine. Called once just before the extension DLL is | | // Exit routine. Called once just before the extension DLL is |
| // unloaded. As with initialization, a session may or | | // unloaded. As with initialization, a session may or |
| | |
| skipping to change at line 15146 | | skipping to change at line 15394 |
| // The debuggee is running or inaccessible. | | // The debuggee is running or inaccessible. |
| #define DEBUG_NOTIFY_SESSION_INACCESSIBLE 0x00000003 | | #define DEBUG_NOTIFY_SESSION_INACCESSIBLE 0x00000003 |
| | |
| typedef void (CALLBACK* PDEBUG_EXTENSION_NOTIFY) | | typedef void (CALLBACK* PDEBUG_EXTENSION_NOTIFY) |
| (__in ULONG Notify, __in ULONG64 Argument); | | (__in ULONG Notify, __in ULONG64 Argument); |
| | |
| // A PDEBUG_EXTENSION_CALL function can return this code | | // A PDEBUG_EXTENSION_CALL function can return this code |
| // to indicate that it was unable to handle the request | | // to indicate that it was unable to handle the request |
| // and that the search for an extension function should | | // and that the search for an extension function should |
| // continue down the extension DLL chain. | | // continue down the extension DLL chain. |
|
| // Taken from STATUS_VALIDATE_CONTINUE | | // Taken from STATUS_VALIDATE_CONTINUE. |
| | | |
| #define DEBUG_EXTENSION_CONTINUE_SEARCH \ | | #define DEBUG_EXTENSION_CONTINUE_SEARCH \ |
| HRESULT_FROM_NT(0xC0000271L) | | HRESULT_FROM_NT(0xC0000271L) |
| | |
|
| | // A PDEBUG_EXTENSION_CALL function can return this code |
| | // to indicate that the engine should unload and reload |
| | // the extension binary. This allows extensions to implement |
| | // auto-update functionality. |
| | #define DEBUG_EXTENSION_RELOAD_EXTENSION \ |
| | HRESULT_FROM_NT(0xC00000EEL) |
| | |
| // Every routine in an extension DLL has the following prototype. | | // Every routine in an extension DLL has the following prototype. |
| // The extension may be called from multiple clients so it | | // The extension may be called from multiple clients so it |
| // should not cache the client value between calls. | | // should not cache the client value between calls. |
| typedef HRESULT (CALLBACK* PDEBUG_EXTENSION_CALL) | | typedef HRESULT (CALLBACK* PDEBUG_EXTENSION_CALL) |
| (__in PDEBUG_CLIENT Client, __in_opt PCSTR Args); | | (__in PDEBUG_CLIENT Client, __in_opt PCSTR Args); |
| | |
|
| | // |
| | // KnownStructOutput[Ex] flags |
| | // |
| | |
| | // Return names of supported structs. |
| | #define DEBUG_KNOWN_STRUCT_GET_NAMES 1 |
| | // Return value output for type. |
| | #define DEBUG_KNOWN_STRUCT_GET_SINGLE_LINE_OUTPUT 2 |
| | // Return S_OK if suppressing type name. |
| | #define DEBUG_KNOWN_STRUCT_SUPPRESS_TYPE_NAME 3 |
| | |
| // Extensions may export this callback in order to dump structs that | | // Extensions may export this callback in order to dump structs that |
| // are well known to them. The engine calls this to inject extension | | // are well known to them. The engine calls this to inject extension |
| // output into dt's struct dump. | | // output into dt's struct dump. |
| typedef HRESULT (CALLBACK* PDEBUG_EXTENSION_KNOWN_STRUCT) | | typedef HRESULT (CALLBACK* PDEBUG_EXTENSION_KNOWN_STRUCT) |
| (__in ULONG Flags, | | (__in ULONG Flags, |
| __in ULONG64 Offset, | | __in ULONG64 Offset, |
| __in_opt PSTR TypeName, | | __in_opt PSTR TypeName, |
| __out_ecount_opt(*BufferChars) PSTR Buffer, | | __out_ecount_opt(*BufferChars) PSTR Buffer, |
| __inout_opt PULONG BufferChars); | | __inout_opt PULONG BufferChars); |
| typedef HRESULT (CALLBACK* PDEBUG_EXTENSION_KNOWN_STRUCT_EX) | | typedef HRESULT (CALLBACK* PDEBUG_EXTENSION_KNOWN_STRUCT_EX) |
| | |
| skipping to change at line 15178 | | skipping to change at line 15443 |
| __in ULONG Flags, | | __in ULONG Flags, |
| __in ULONG64 Offset, | | __in ULONG64 Offset, |
| __in_opt PCSTR TypeName, | | __in_opt PCSTR TypeName, |
| __out_ecount_opt(*BufferChars) PSTR Buffer, | | __out_ecount_opt(*BufferChars) PSTR Buffer, |
| __inout_opt PULONG BufferChars); | | __inout_opt PULONG BufferChars); |
| | |
| // Backwards compatibility with old, incorrect name. | | // Backwards compatibility with old, incorrect name. |
| typedef PDEBUG_EXTENSION_KNOWN_STRUCT PDEBUG_ENTENSION_KNOWNSTRUCT; | | typedef PDEBUG_EXTENSION_KNOWN_STRUCT PDEBUG_ENTENSION_KNOWNSTRUCT; |
| | |
| // | | // |
|
| // KnownStructOutput[Ex] flags | | // Extensions can provide pseudo-register values that |
| | // operate similiarly to the debugger's built-in $teb, etc. |
| // | | // |
| | |
|
| // Return names of supported structs. | | #define DEBUG_EXT_QVALUE_DEFAULT 0x00000000 |
| #define DEBUG_KNOWN_STRUCT_GET_NAMES 1 | | |
| // Return value output for type. | | typedef HRESULT (CALLBACK* PDEBUG_EXTENSION_QUERY_VALUE_NAMES) |
| #define DEBUG_KNOWN_STRUCT_GET_SINGLE_LINE_OUTPUT 2 | | (__in PDEBUG_CLIENT Client, |
| // Return S_OK if suppressing type name. | | __in ULONG Flags, |
| #define DEBUG_KNOWN_STRUCT_SUPPRESS_TYPE_NAME 3 | | __out_ecount(BufferChars) PWSTR Buffer, |
| | __in ULONG BufferChars, |
| | __out PULONG BufferNeeded); |
| | |
| | #define DEBUG_EXT_PVALUE_DEFAULT 0x00000000 |
| | |
| | #define DEBUG_EXT_PVTYPE_IS_VALUE 0x00000000 |
| | #define DEBUG_EXT_PVTYPE_IS_POINTER 0x00000001 |
| | |
| | typedef HRESULT (CALLBACK* PDEBUG_EXTENSION_PROVIDE_VALUE) |
| | (__in PDEBUG_CLIENT Client, |
| | __in ULONG Flags, |
| | __in PCWSTR Name, |
| | __out PULONG64 Value, |
| | __out PULONG64 TypeModBase, |
| | __out PULONG TypeId, |
| | __out PULONG TypeFlags); |
| | |
| //---------------------------------------------------------------------------- | | //---------------------------------------------------------------------------- |
| // | | // |
| // Extension functions. | | // Extension functions. |
| // | | // |
| // Extension functions differ from extension callbacks in that | | // Extension functions differ from extension callbacks in that |
| // they are arbitrary functions exported from an extension DLL | | // they are arbitrary functions exported from an extension DLL |
| // for other code callers instead of for human invocation from | | // for other code callers instead of for human invocation from |
| // debugger commands. Extension function pointers are retrieved | | // debugger commands. Extension function pointers are retrieved |
| // for an extension DLL with IDebugControl::GetExtensionFunction. | | // for an extension DLL with IDebugControl::GetExtensionFunction. |
| | |
| skipping to change at line 15686 | | skipping to change at line 15968 |
| #define GetSpecificFilterArgumentT GetSpecificFilterArgumentWide | | #define GetSpecificFilterArgumentT GetSpecificFilterArgumentWide |
| #define SetSpecificFilterArgumentT SetSpecificFilterArgumentWide | | #define SetSpecificFilterArgumentT SetSpecificFilterArgumentWide |
| #define GetExceptionFilterSecondCommandT GetExceptionFilterSecondCommandWide | | #define GetExceptionFilterSecondCommandT GetExceptionFilterSecondCommandWide |
| #define SetExceptionFilterSecondCommandT SetExceptionFilterSecondCommandWide | | #define SetExceptionFilterSecondCommandT SetExceptionFilterSecondCommandWide |
| #define GetLastEventInformationT GetLastEventInformationWide | | #define GetLastEventInformationT GetLastEventInformationWide |
| #define GetTextReplacementT GetTextReplacementWide | | #define GetTextReplacementT GetTextReplacementWide |
| #define SetTextReplacementT SetTextReplacementWide | | #define SetTextReplacementT SetTextReplacementWide |
| #define SetExpressionSyntaxByNameT SetExpressionSyntaxByNameWide | | #define SetExpressionSyntaxByNameT SetExpressionSyntaxByNameWide |
| #define GetExpressionSyntaxNamesT GetExpressionSyntaxNamesWide | | #define GetExpressionSyntaxNamesT GetExpressionSyntaxNamesWide |
| #define GetEventIndexDescriptionT GetEventIndexDescriptionWide | | #define GetEventIndexDescriptionT GetEventIndexDescriptionWide |
|
| #define GetLogFile2T GetLogFileWide | | #define GetLogFile2T GetLogFile2Wide |
| #define OpenLogFile2T OpenLogFileWide | | #define OpenLogFile2T OpenLogFile2Wide |
| #define GetSystemVersionStringT GetSystemVersionStringWide | | #define GetSystemVersionStringT GetSystemVersionStringWide |
| #define ReadMultiByteStringVirtualT ReadMultiByteStringVirtualWide | | #define ReadMultiByteStringVirtualT ReadMultiByteStringVirtualWide |
| #define ReadUnicodeStringVirtualT ReadUnicodeStringVirtualWide | | #define ReadUnicodeStringVirtualT ReadUnicodeStringVirtualWide |
| #define GetDescriptionT GetDescriptionWide | | #define GetDescriptionT GetDescriptionWide |
| #define GetIndexByNameT GetIndexByNameWide | | #define GetIndexByNameT GetIndexByNameWide |
| #define GetPseudoDescriptionT GetPseudoDescriptionWide | | #define GetPseudoDescriptionT GetPseudoDescriptionWide |
| #define GetPseudoIndexByNameT GetPseudoIndexByNameWide | | #define GetPseudoIndexByNameT GetPseudoIndexByNameWide |
| #define AddSymbolT AddSymbolWide | | #define AddSymbolT AddSymbolWide |
| #define RemoveSymbolByNameT RemoveSymbolByNameWide | | #define RemoveSymbolByNameT RemoveSymbolByNameWide |
| #define GetSymbolNameT GetSymbolNameWide | | #define GetSymbolNameT GetSymbolNameWide |
| | |
| skipping to change at line 15819 | | skipping to change at line 16101 |
| #define GetSpecificFilterArgumentT GetSpecificFilterArgument | | #define GetSpecificFilterArgumentT GetSpecificFilterArgument |
| #define SetSpecificFilterArgumentT SetSpecificFilterArgument | | #define SetSpecificFilterArgumentT SetSpecificFilterArgument |
| #define GetExceptionFilterSecondCommandT GetExceptionFilterSecondCommand | | #define GetExceptionFilterSecondCommandT GetExceptionFilterSecondCommand |
| #define SetExceptionFilterSecondCommandT SetExceptionFilterSecondCommand | | #define SetExceptionFilterSecondCommandT SetExceptionFilterSecondCommand |
| #define GetLastEventInformationT GetLastEventInformation | | #define GetLastEventInformationT GetLastEventInformation |
| #define GetTextReplacementT GetTextReplacement | | #define GetTextReplacementT GetTextReplacement |
| #define SetTextReplacementT SetTextReplacement | | #define SetTextReplacementT SetTextReplacement |
| #define SetExpressionSyntaxByNameT SetExpressionSyntaxByName | | #define SetExpressionSyntaxByNameT SetExpressionSyntaxByName |
| #define GetExpressionSyntaxNamesT GetExpressionSyntaxNames | | #define GetExpressionSyntaxNamesT GetExpressionSyntaxNames |
| #define GetEventIndexDescriptionT GetEventIndexDescription | | #define GetEventIndexDescriptionT GetEventIndexDescription |
|
| #define GetLogFile2T GetLogFile | | #define GetLogFile2T GetLogFile2 |
| #define OpenLogFile2T OpenLogFile | | #define OpenLogFile2T OpenLogFile2 |
| #define GetSystemVersionStringT GetSystemVersionString | | #define GetSystemVersionStringT GetSystemVersionString |
| #define ReadMultiByteStringVirtualT ReadMultiByteStringVirtual | | #define ReadMultiByteStringVirtualT ReadMultiByteStringVirtual |
| #define ReadUnicodeStringVirtualT ReadUnicodeStringVirtual | | #define ReadUnicodeStringVirtualT ReadUnicodeStringVirtual |
| #define GetDescriptionT GetDescription | | #define GetDescriptionT GetDescription |
| #define GetIndexByNameT GetIndexByName | | #define GetIndexByNameT GetIndexByName |
| #define GetPseudoDescriptionT GetPseudoDescription | | #define GetPseudoDescriptionT GetPseudoDescription |
| #define GetPseudoIndexByNameT GetPseudoIndexByName | | #define GetPseudoIndexByNameT GetPseudoIndexByName |
| #define AddSymbolT AddSymbol | | #define AddSymbolT AddSymbol |
| #define RemoveSymbolByNameT RemoveSymbolByName | | #define RemoveSymbolByNameT RemoveSymbolByName |
| #define GetSymbolNameT GetSymbolName | | #define GetSymbolNameT GetSymbolName |
| | |
| End of changes. 33 change blocks. |
| 26 lines changed or deleted | | 309 lines changed or added |
|