1 // Copyright 2020 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_ 6 #define V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_ 7 8 #if !defined(UNICODE) || !defined(_UNICODE) 9 #error Unicode not defined 10 #endif 11 12 #include <DbgEng.h> 13 #include <DbgModel.h> 14 #include <Windows.h> 15 #include <crtdbg.h> 16 #include <wrl/client.h> 17 18 #include <string> 19 20 namespace WRL = Microsoft::WRL; 21 22 // Globals for use throughout the extension. (Populated on load). 23 extern WRL::ComPtr<IDataModelManager> sp_data_model_manager; 24 extern WRL::ComPtr<IDebugHost> sp_debug_host; 25 extern WRL::ComPtr<IDebugControl5> sp_debug_control; 26 extern WRL::ComPtr<IDebugHostMemory2> sp_debug_host_memory; 27 extern WRL::ComPtr<IDebugHostSymbols> sp_debug_host_symbols; 28 extern WRL::ComPtr<IDebugHostExtensibility> sp_debug_host_extensibility; 29 30 // To be implemented by the custom extension code. (Called on load). 31 HRESULT CreateExtension(); 32 void DestroyExtension(); 33 34 #endif // V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_ 35