Freigeben über


ICLRDebugging::OpenVirtualProcess-Methode

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

    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, die es dem verwalteten Debugger ermöglicht, den Prozesszustand zu überprüfen. Der Debugger muss die ICorDebugDataTarget-Schnittstelle implementieren. Implementieren Sie die ICLRDebuggingLibraryProvider-Schnittstelle, um Szenarios zu unterstützen, in denen die zu debuggende CLR nicht lokal auf dem Computer installiert ist.

  • pLibraryProvider
    [in] Eine Bibliothekanbieter-Rückrufschnittstelle, die es ermöglicht, versionsspezifische Debugbibliotheken bei Bedarf zu suchen und zu laden. Dieser Parameter ist nur erforderlich, wenn ppProcess oder pFlags nicht null ist.

  • pMaxDebuggerSupportedVersion
    [in] Die höchste Version der CLR, die von diesem Debugger gedebuggt werden kann. Geben Sie die Haupt-, Neben- und Buildversion der neuesten von diesem Debugger unterstützten CLR-Version an, und legen Sie die Revisionsnummer auf 65535 fest, um zukünftige Ersetzungs-Service Releases der CLR zu berücksichtigen.

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

  • ppProcess
    [out] Ein Zeiger auf die von riidProcess angegebene COM-Schnittstelle.

  • pVersion
    [in, out] Die Version der CLR. Bei Eingabe kann dieser Wert null sein. Der Zeiger kann auch auf eine CLR_DEBUGGING_VERSION-Struktur zeigen. In diesem Fall muss das wStructVersion-Feld der Struktur mit 0 (null) initialisiert werden.

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

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

Rückgabewert

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

HRESULT

Beschreibungen

S_OK

Die Methode wurde erfolgreich abgeschlossen.

E_POINTER

pDataTarget hat den Wert 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 Speicher beschädigt war, das Modul nicht verfügbar ist oder die CLR-Version höher als die Shimversion ist.

CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL

Diese Laufzeitversion unterstützt dieses Debugmodell nicht. Gegenwärtig wird das Debugmodell von CLR-Versionen vor .NET Framework, Version 4 nicht unterstützt. Der pwszVersion-Ausgabeparameter ist nach diesem Fehler noch auf den richtigen Wert festgelegt.

CORDBG_E_UNSUPPORTED_FORWARD_COMPAT

Die Version der CLR ist höher als die Version, die der Debugger unterstützt. Der pwszVersion-Ausgabeparameter ist nach diesem Fehler noch 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 verfügt über keinen gültigen Wert für wStructVersion. Zu diesem Zeitpunkt wird nur der Wert 0 akzeptiert.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 4

Siehe auch

Weitere Ressourcen

Debugschnittstellen

Debuggen (Referenz zur nicht verwalteten API)