Freigeben über


ICLRDebugging::OpenVirtualProcess-Methode

Ruft die ICorDebugProcess-Schnittstelle ab, die einem im Prozess geladenen CLR-Modul (Common Language Runtime) 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);

Die Parameter

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

pDataTarget [in] Eine Abstraktion des Datenziels, mit der der verwaltete Debugger den Prozesszustand prüfen kann. Der Debugger muss die ICorDebugDataTarget-Schnittstelle implementieren. Sie sollten die ICLRDebuggingLibraryProvider-Schnittstelle implementieren, um Szenarien zu unterstützen, in denen die zu debuggende CLR nicht lokal auf dem Computer installiert ist.

pLibraryProvider [in] Eine Rückrufschnittstelle für Bibliotheksanbieter, die versionsspezifische Debuggingbibliotheken bei Bedarf finden und laden lässt. Dieser Parameter ist nur erforderlich, wenn ppProcess oder pFlags nicht null.

pMaxDebuggerSupportedVersion [in] Die höchste Version der CLR, die dieser Debugger debuggen kann. Sie sollten die Haupt-, Neben- und Buildversionen aus der neuesten CLR-Version angeben, die dieser Debugger unterstützt, und die Revisionsnummer auf 65535 festlegen, um zukünftige IN-Place-CLR-Wartungsversionen zu berücksichtigen.

riidProcess [in] Die ID der abzurufenden ICorDebugProcess-Schnittstelle. Derzeit sind IID_CORDEBUGPROCESS3die einzigen akzeptierten Werte , IID_CORDEBUGPROCESS2und IID_CORDEBUGPROCESS.

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

pVersion [in, out] Die Version der CLR. Bei eingaben kann dieser Wert sein null. Sie kann auch auf eine CLR_DEBUGGING_VERSION Struktur verweisen, in diesem Fall muss das Feld der Struktur wStructVersion auf 0 (Null) initialisiert werden.

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

pdwFlags [out] Informational flags about the specified runtime. Eine Beschreibung der Flags finden Sie unter CLR_DEBUGGING_PROCESS_FLAGS.

Rückgabewert

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

HRESULT Description
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 erforderlichen Datenzielschnittstellen für diese Version der Laufzeit.
CORDBG_E_NOT_CLR Das angegebene Modul ist kein CLR-Modul. Dieses HRESULT wird auch zurückgegeben, wenn ein CLR-Modul nicht erkannt werden kann, weil der Arbeitsspeicher beschädigt wurde, das Modul nicht verfügbar ist oder die CLR-Version später als die Shim-Version ist.
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL Diese Laufzeitversion unterstützt dieses Debuggingmodell nicht. Derzeit wird das Debuggingmodell von CLR-Versionen vor .NET Framework 4 nicht unterstützt. Der pwszVersion Ausgabeparameter wird nach diesem Fehler weiterhin auf den richtigen Wert festgelegt.
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT Die Version der CLR ist größer als die Version, die dieser Debugger unterstützt. Der pwszVersion Ausgabeparameter wird 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. Der einzige akzeptierte Wert ist derzeit 0.

Exceptions

Bemerkungen

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Kopfball: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Verfügbar seit 4

.NET-Versionen: Verfügbar seit .NET Core 2.1

Siehe auch