// msdbg177.idl /******************************************************** * * * Copyright (C) Microsoft. All rights reserved. * * * *********************************************************/ cpp_quote("/********************************************************") cpp_quote("* *") cpp_quote("* Copyright (C) Microsoft. All rights reserved. *") cpp_quote("* *") cpp_quote("*********************************************************/") import "oaidl.idl"; import "ocidl.idl"; #ifndef DEBUGGER_PIA_BUILD import "msdbg.idl"; import "msdbg156.idl"; import "msdbg171.idl"; #endif #ifdef DEBUGGER_PIA_BUILD #define XINT32 int #else #define XINT32 ULONG32 #endif typedef enum _GenerateSymbolsMode { // Requests that symbols should be generated immediately GSM_Immediate = 0, // Requests that symbols should be generated on demand as needed GSM_OnDemand = 1 } GenerateSymbolsMode; // Optional interface that can be implemented by objects that implement IDebugModule* to allow generation // of symbols with embedded source, e.g. by decompilation. // NOTE: Implementations of this interface must ensure that the completion handler is invoked on the // UI thread. [ local, object, uuid(9379A80D-C627-40B6-893E-8516F6DC30AA), pointer_default(unique) ] interface IDebugModule177 : IUnknown { // Determines whether the module supports symbol generation with embedded source. HRESULT CanGenerateSymbols( [in] GenerateSymbolsMode mode, [out] BOOL* pfRetVal ); // Generate symbols for the module. Implementations must ensure that the completion handler is invoked on // the UI thread. HRESULT GenerateSymbolsAsync( [in] GenerateSymbolsMode mode, [in] IAsyncDebugGenerateSymbolsCompletionHandler* pCompletionHandler, [out] IAsyncDebugEngineOperation** ppDebugOperation ); };