Delen via


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

Zie ook