| // Copyright 2020 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_ |
| #define V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_ |
| |
| #if !defined(UNICODE) || !defined(_UNICODE) |
| #error Unicode not defined |
| #endif |
| |
| #include <DbgEng.h> |
| #include <DbgModel.h> |
| #include <Windows.h> |
| #include <crtdbg.h> |
| #include <wrl/client.h> |
| |
| #include <string> |
| |
| namespace WRL = Microsoft::WRL; |
| |
| // Globals for use throughout the extension. (Populated on load). |
| extern WRL::ComPtr<IDataModelManager> sp_data_model_manager; |
| extern WRL::ComPtr<IDebugHost> sp_debug_host; |
| extern WRL::ComPtr<IDebugControl5> sp_debug_control; |
| extern WRL::ComPtr<IDebugHostMemory2> sp_debug_host_memory; |
| extern WRL::ComPtr<IDebugHostSymbols> sp_debug_host_symbols; |
| extern WRL::ComPtr<IDebugHostExtensibility> sp_debug_host_extensibility; |
| |
| // To be implemented by the custom extension code. (Called on load). |
| HRESULT CreateExtension(); |
| void DestroyExtension(); |
| |
| #endif // V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_ |