Teilen über


ICLRDebugging::OpenVirtualProcess-Methode

Ruft die ICorDebugProcess-Schnittstelle ab, die einem in den Prozess geladenen Common Language Runtime-Modul (CLR) entspricht.

Syntax

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);

Parameter

moduleBaseAddress [in] Die Basisadresse eines Moduls im Zielprozess. Wenn das angegebene Modul kein CLR-Modul ist, wird COR_E_NOT_CLR zurückgegeben.

pDataTarget [in] Eine Datenzielabstraktion, mit deren Hilfe der verwaltete Debugger den Prozessstatus überprüfen kann. Der Debugger muss die ICorDebugDataTarget-Schnittstelle implementieren. Sie müssen die ICLRDebuggingLibraryProvider-Schnittstelle implementieren, um Szenarios zu unterstützen, in denen die zu debuggende CLR nicht lokal auf dem Computer installiert ist.

pLibraryProvider [in] Eine Bibliotheksanbieter-Rückrufschnittstelle, mit der versionsspezifische Common Language Runtime-Debugbibliotheken (CLR) bei Bedarf gesucht und geladen werden können. Dieser Parameter ist nur erforderlich, wenn ppProcess oder pFlags nicht null ist.

pMaxDebuggerSupportedVersion [in] Die höchste Version der CLR, die dieser Debugger debuggen kann. Sie müssen die Haupt-, Neben- und Buildversionen der neuesten CLR-Version angeben, die von diesem Debugger unterstützt werden, und die Revisionsnummer auf 65535 festlegen, um zukünftige direkte CLR-Wartungsreleases zu berücksichtigen.

riidProcess [in] Die ID der abzurufenden ICorDebugProcess-Schnittstelle. Derzeit werden nur die Werte IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2 und IID_CORDEBUGPROCESS akzeptiert.

riidProcess [out] Ein Zeiger auf die COM-Schnittstelle, die durch ppProcess identifiziert wird.

pVersion [in, out] Die Version der CLR. Für die Eingabe kann dieser Wert null sein. Er kann auch auf eine CLR_DEBUGGING_VERSION-Struktur verweisen. In diesem Fall muss das Feld wStructVersion der Struktur mit 0 (null) initialisiert werden.

Für die Ausgabe wird die zurückgegebene CLR_DEBUGGING_VERSION-Struktur mit den Versionsinformationen für die CLR ausgefüllt.

pdwFlags [out] Informationsflags für die angegebene Runtime. Eine Beschreibung der Flags finden Sie im Thema CLR_DEBUGGING_PROCESS_FLAGS.

Rückgabewert

Diese Methode gibt die folgenden spezifischen HRESULTs sowie HRESULT-Fehler zurück, die Methodenfehler anzeigen.

HRESULT BESCHREIBUNG
S_OK Die Methode wurde erfolgreich abgeschlossen.
E_POINTER pDataTarget ist null.
CORDBG_E_LIBRARY_PROVIDER_ERROR Der ICLRDebuggingLibraryProvider-Rückruf gibt einen Fehler zurück oder stellt kein gültiges Handle bereit.
CORDBG_E_MISSING_DATA_TARGET_INTERFACE pDataTarget implementiert nicht die für diese Version der Runtime erforderlichen Datenzielschnittstellen.
CORDBG_E_NOT_CLR Das angegebene Modul ist kein CLR-Modul. Dieses HRESULT wird auch dann zurückgegeben, wenn ein CLR-Modul nicht erkannt werden kann, weil der Arbeitsspeicher beschädigt wurde, wenn das Modul nicht verfügbar oder die CLR-Version höher als die Shimversion ist.
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL Diese Runtimeversion unterstützt dieses Debuggingmodell nicht. Derzeit wird das Debuggingmodell nicht von CLR-Versionen vor .NET Framework 4 unterstützt. Der pwszVersion-Ausgabeparameter ist nach diesem Fehler weiterhin auf den richtigen Wert festgelegt.
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT Die CLR-Version ist höher als die Version, die von diesem Debugger unterstützt wird. Der pwszVersion-Ausgabeparameter ist nach diesem Fehler weiterhin auf den richtigen Wert festgelegt.
E_NO_INTERFACE Die riidProcess-Schnittstelle ist nicht verfügbar.
CORDBG_E_UNSUPPORTED_VERSION_STRUCT Die CLR_DEBUGGING_VERSION-Struktur hat keinen erkannten Wert für wStructVersion. Derzeit wird nur der Wert 0 akzeptiert.

Ausnahmen

Bemerkungen

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Seit Version 4 verfügbar

.NET-Versionen: Seit .NET Core 2.1 verfügbar

Siehe auch