diff options
Diffstat (limited to 'src/inc/xcordebug.idl')
-rw-r--r-- | src/inc/xcordebug.idl | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/src/inc/xcordebug.idl b/src/inc/xcordebug.idl new file mode 100644 index 0000000000..646c2069ea --- /dev/null +++ b/src/inc/xcordebug.idl @@ -0,0 +1,85 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +/***************************************************************************** + ** ** + ** XCordebug.idl - Experimental (undocumented) Debugging interfaces. ** + ** ** + *****************************************************************************/ + + +/* ------------------------------------------------------------------------- * + * Imported types + * ------------------------------------------------------------------------- */ + +import "cordebug.idl"; + + + + +// @dbgtodo : proper API docs here. +// - include failure semantics of Filter. What does failure mean? +// +/* Comments to add to ICorDebugDataTarget docs: + * Whenever the target process changes, the debugger client must + * call ICorDebugProcess4::ProcessStateChanged before issuing any other + * ICorDebug API calls. +*/ +[ + object, + local, + uuid(E930C679-78AF-4953-8AB7-B0AABF0F9F80), + pointer_default(unique) +] +interface ICorDebugProcess4 : IUnknown +{ + /* + * Process native debug events. + */ + HRESULT Filter( + [in, length_is(countBytes), size_is(countBytes)] const BYTE pRecord[], + [in] DWORD countBytes, + [in] CorDebugRecordFormat format, + [in] DWORD dwFlags, + [in] DWORD dwThreadId, + [in] ICorDebugManagedCallback * pCallback, + [in, out] CORDB_CONTINUE_STATUS * pContinueStatus); + + /* + * Debugger calls this to notify ICorDebug that the process is running. + * + * Notes: + * ProcessStateChanged(PROCESS_RUNNING) has similar semantics to ICorDebugProcess::Continue(); + */ + HRESULT ProcessStateChanged([in] CorDebugStateChange eChange); + +}; + +#ifdef FEATURE_LEGACYNETCF_DBG_HOST_CONTROL + +/* A private API for use on Windows phone to invoke CLR hosting + * callbacks on IHostNetCFDebugControlManager. This allows the + * host's UI thread to be suspended and resumed on demand. + * + * This API should not be used for anything other than the + * Windows Phone scenario, it should never be made public, + * and as soon as we support mixed-mode debugging it should + * be retired by removing the interface and failing any + * QueryInterface call for it. +*/ +[ + object, + local, + uuid(34B27FB0-A318-450D-A0DD-11B70B21F41D), + pointer_default(unique) +] +interface ICorDebugLegacyNetCFHostCallbackInvoker_PrivateWindowsPhoneOnly : IUnknown +{ + // Invokes IHostNetCFDebugControlManager::NotifyPause() on the debuggee's host + HRESULT InvokePauseCallback(); + + // Invokes IHostNetCFDebugControlManager::NotifyResume() on the debuggee's host + HRESULT InvokeResumeCallback(); +}; + +#endif
\ No newline at end of file |