Gets the ICorDebugProcess interface that corresponds to a common language runtime (CLR) module loaded in the process.
HRESULT OpenVirtualProcess( [in] ULONG64 moduleBaseAddress, [in] IUnknown * pDataTarget, [in] ICLRDebuggingLibraryProvider * pLibraryProvider, [in] CLR_DEBUGGING_VERSION * pMaxDebuggerSupportedVersion, [in] REFIID riidProcess, [out, iid_is(riidProcess)] IUnknown ** ppProcess, [in, out] CLR_DEBUGGING_VERSION * pVersion, [out] CLR_DEBUGGING_PROCESS_FLAGS * pdwFlags);
[in] The base address of a module in the target process. COR_E_NOT_CLR will be returned if the specified module is not a CLR module.
[in] A data target abstraction that allows the managed debugger to inspect process state. The debugger must implement the ICorDebugDataTarget interface. You should implement the ICLRDebuggingLibraryProvider interface to support scenarios where the CLR that is being debugged is not installed locally on the computer.
[in] A library provider callback interface that allows version-specific debugging libraries to be located and loaded on demand. This parameter is required only if
pFlags is not
[in] The highest version of the CLR that this debugger can debug. You should specify the major, minor, and build versions from the latest CLR version this debugger supports, and set the revision number to 65535 to accommodate future in-place CLR servicing releases.
[in] The ID of the ICorDebugProcess interface to retrieve. Currently, the only accepted values are IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2, and IID_CORDEBUGPROCESS.
[out] A pointer to the COM interface that is identified by
[in, out] The version of the CLR. On input, this value can be
null. It can also point to a CLR_DEBUGGING_VERSION structure, in which case the structure's
wStructVersion field must be initialized to 0 (zero).
On output, the returned
CLR_DEBUGGING_VERSION structure will be filled in with the version information for the CLR.
[out] Informational flags about the specified runtime. See the CLR_DEBUGGING_PROCESS_FLAGS topic for a description of the flags.
This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
|S_OK||The method completed successfully.|
|CORDBG_E_LIBRARY_PROVIDER_ERROR||The ICLRDebuggingLibraryProvider callback returns an error or does not provide a valid handle.|
|CORDBG_E_NOT_CLR||The indicated module is not a CLR module. This HRESULT is also returned when a CLR module cannot be detected because memory has been corrupted, the module is not available, or the CLR version is later than the shim version.|
|CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL||This runtime version does not support this debugging model. Currently, the debugging model is not supported by CLR versions before the .NET Framework 4. The
|CORDBG_E_UNSUPPORTED_FORWARD_COMPAT||The version of the CLR is greater than the version this debugger claims to support. The
Platforms: See System Requirements.
Header: CorDebug.idl, CorDebug.h
.NET Framework Versions: Available since 4