11cb0ef41Sopenharmony_ci// Copyright 2020 the V8 project authors. All rights reserved. 21cb0ef41Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be 31cb0ef41Sopenharmony_ci// found in the LICENSE file. 41cb0ef41Sopenharmony_ci 51cb0ef41Sopenharmony_ci#ifndef V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_ 61cb0ef41Sopenharmony_ci#define V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_ 71cb0ef41Sopenharmony_ci 81cb0ef41Sopenharmony_ci#if !defined(UNICODE) || !defined(_UNICODE) 91cb0ef41Sopenharmony_ci#error Unicode not defined 101cb0ef41Sopenharmony_ci#endif 111cb0ef41Sopenharmony_ci 121cb0ef41Sopenharmony_ci#include <DbgEng.h> 131cb0ef41Sopenharmony_ci#include <DbgModel.h> 141cb0ef41Sopenharmony_ci#include <Windows.h> 151cb0ef41Sopenharmony_ci#include <crtdbg.h> 161cb0ef41Sopenharmony_ci#include <wrl/client.h> 171cb0ef41Sopenharmony_ci 181cb0ef41Sopenharmony_ci#include <string> 191cb0ef41Sopenharmony_ci 201cb0ef41Sopenharmony_cinamespace WRL = Microsoft::WRL; 211cb0ef41Sopenharmony_ci 221cb0ef41Sopenharmony_ci// Globals for use throughout the extension. (Populated on load). 231cb0ef41Sopenharmony_ciextern WRL::ComPtr<IDataModelManager> sp_data_model_manager; 241cb0ef41Sopenharmony_ciextern WRL::ComPtr<IDebugHost> sp_debug_host; 251cb0ef41Sopenharmony_ciextern WRL::ComPtr<IDebugControl5> sp_debug_control; 261cb0ef41Sopenharmony_ciextern WRL::ComPtr<IDebugHostMemory2> sp_debug_host_memory; 271cb0ef41Sopenharmony_ciextern WRL::ComPtr<IDebugHostSymbols> sp_debug_host_symbols; 281cb0ef41Sopenharmony_ciextern WRL::ComPtr<IDebugHostExtensibility> sp_debug_host_extensibility; 291cb0ef41Sopenharmony_ci 301cb0ef41Sopenharmony_ci// To be implemented by the custom extension code. (Called on load). 311cb0ef41Sopenharmony_ciHRESULT CreateExtension(); 321cb0ef41Sopenharmony_civoid DestroyExtension(); 331cb0ef41Sopenharmony_ci 341cb0ef41Sopenharmony_ci#endif // V8_TOOLS_V8WINDBG_BASE_DBGEXT_H_ 35