Methode ICLRDebugging::OpenVirtualProcess
Hiermee wordt de ICorDebugProcess-interface opgehaald die overeenkomt met een CLR-module (Common Language Runtime) die in het proces is geladen.
Syntaxis
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);
Parameters
moduleBaseAddress
[in] Het basisadres van een module in het doelproces. COR_E_NOT_CLR wordt geretourneerd als de opgegeven module geen CLR-module is.
pDataTarget
[in] Een gegevensdoelabstractie waarmee het beheerde foutopsporingsprogramma de processtatus kan inspecteren. Het foutopsporingsprogramma moet de ICorDebugDataTarget-interface implementeren. U moet de interface ICLRDebuggingLibraryProvider implementeren ter ondersteuning van scenario's waarbij de CLR die wordt opgespoord, niet lokaal op de computer is geïnstalleerd.
pLibraryProvider
[in] Een callback-interface voor bibliotheekproviders waarmee bibliotheken voor versiespecifieke foutopsporing kunnen worden gevonden en op aanvraag kunnen worden geladen. Deze parameter is alleen vereist als ppProcess
of pFlags
niet null
.
pMaxDebuggerSupportedVersion
[in] De hoogste versie van de CLR die door dit foutopsporingsprogramma kan worden opgespoord. U moet de primaire, secundaire en buildversies van de nieuwste CLR-versie opgeven die door dit foutopsporingsprogramma worden ondersteund en het revisienummer instellen op 65535 om toekomstige in-place CLR-onderhoudsreleases te kunnen verwerken.
riidProcess
[in] De id van de ICorDebugProcess-interface die moet worden opgehaald. Momenteel zijn de enige geaccepteerde waarden IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2 en IID_CORDEBUGPROCESS.
ppProcess
[uit] Een aanwijzer naar de COM-interface die wordt geïdentificeerd door riidProcess
.
pVersion
[in, uit] De versie van de CLR. Bij invoer kan deze waarde zijn null
. Het kan ook verwijzen naar een CLR_DEBUGGING_VERSION structuur, in welk geval het veld van wStructVersion
de structuur moet worden geïnitialiseerd tot 0 (nul).
Bij uitvoer wordt de geretourneerde CLR_DEBUGGING_VERSION
structuur ingevuld met de versie-informatie voor de CLR.
pdwFlags
[uit] Informatieve vlaggen over de opgegeven runtime. Zie het CLR_DEBUGGING_PROCESS_FLAGS onderwerp voor een beschrijving van de vlaggen.
Retourwaarde
Deze methode retourneert de volgende specifieke HRESULT's, evenals HRESULT-fouten die duiden op een fout in de methode.
HRESULT | Omschrijving |
---|---|
S_OK | De methode is voltooid. |
E_POINTER | pDataTarget is null . |
CORDBG_E_LIBRARY_PROVIDER_ERROR | De callback van ICLRDebuggingLibraryProvider retourneert een fout of biedt geen geldige ingang. |
CORDBG_E_MISSING_DATA_TARGET_INTERFACE | pDataTarget implementeert niet de vereiste gegevensdoelinterfaces voor deze versie van de runtime. |
CORDBG_E_NOT_CLR | De aangegeven module is geen CLR-module. Dit HRESULT wordt ook geretourneerd wanneer een CLR-module niet kan worden gedetecteerd omdat het geheugen is beschadigd, de module niet beschikbaar is of de CLR-versie later is dan de shim-versie. |
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL | Deze runtimeversie biedt geen ondersteuning voor dit foutopsporingsmodel. Op dit moment wordt het foutopsporingsmodel niet ondersteund door CLR-versies vóór .NET Framework 4. De pwszVersion uitvoerparameter is na deze fout nog steeds ingesteld op de juiste waarde. |
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT | De versie van de CLR is groter dan de versie die door dit foutopsporingsprogramma wordt ondersteund. De pwszVersion uitvoerparameter is na deze fout nog steeds ingesteld op de juiste waarde. |
E_NO_INTERFACE | De riidProcess interface is niet beschikbaar. |
CORDBG_E_UNSUPPORTED_VERSION_STRUCT | De CLR_DEBUGGING_VERSION structuur heeft geen herkende waarde voor wStructVersion . De enige geaccepteerde waarde op dit moment is 0. |
Uitzonderingen
Opmerkingen
Vereisten
Platformen: Zie Systeemvereisten.
Header: CorDebug.idl, CorDebug.h
Bibliotheek: CorGuids.lib
.NET Framework-versies: beschikbaar sinds 4
.NET-versies: beschikbaar sinds .NET Core 2.1