blob: 8b36a8f361e60445443a95ed1c2f890ae58fbdaf [file] [log] [blame]
// 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_