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