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