Sdílet prostřednictvím


ICLRDebugging::OpenVirtualProcess – metoda

Získá ICorDebugProcess rozhraní, které odpovídá modulu CLR (Common Language Runtime) načtený v procesu.

Syntaxe

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);

Parametry

moduleBaseAddress [v] Základní adresa modulu v cílovém procesu. COR_E_NOT_CLR se vrátí, pokud zadaný modul není modulem CLR.

pDataTarget [v] Abstrakce cíle dat, která spravovanému ladicímu programu umožňuje kontrolovat stav procesu. Ladicí program musí implementovat ICorDebugDataTarget rozhraní. Měli byste implementovat ICLRDebuggingLibraryProvider rozhraní pro podporu scénářů, kdy CLR, který je laděný, není v počítači nainstalován místně.

pLibraryProvider [v] Rozhraní zpětného volání zprostředkovatele knihovny, které umožňuje umístění a načtení knihoven ladění specifických pro jednotlivé verze na vyžádání. Tento parametr je povinný pouze v případě, pFlags že ppProcess není null.

pMaxDebuggerSupportedVersion [v] Nejvyšší verze MODULU CLR, kterou může tento ladicí program ladit. Měli byste zadat hlavní, dílčí a buildové verze z nejnovější verze CLR, kterou ladicí program podporuje, a nastavit číslo revize na 65535 tak, aby vyhovovalo budoucím servisním verzím CLR.

riidProcess [v] ID rozhraní ICorDebugProcess, které se má načíst. V současné době jsou jediné přijaté hodnoty IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2 a IID_CORDEBUGPROCESS.

ppProcess [ven] Ukazatel na rozhraní MODELU COM, které je identifikováno riidProcess.

pVersion [in, out] Verze MODULU CLR. Na vstupu může být nulltato hodnota . Může také odkazovat na CLR_DEBUGGING_VERSION strukturu, v takovém případě musí být pole struktury wStructVersion inicializováno na hodnotu 0 (nula).

Ve výstupu se vrácená CLR_DEBUGGING_VERSION struktura vyplní informacemi o verzi modulu CLR.

pdwFlags [ven] Informační příznaky o zadaném modulu runtime. Popis příznaků najdete v tématu CLR_DEBUGGING_PROCESS_FLAGS .

Vrácená hodnota

Tato metoda vrátí následující konkrétní HRESULTs a také chyby HRESULT, které označují selhání metody.

HRESULT Popis
S_OK Metoda byla úspěšně dokončena.
E_POINTER pDataTarget je null.
CORDBG_E_LIBRARY_PROVIDER_ERROR Zpětné volání ICLRDebuggingLibraryProvider vrátí chybu nebo neposkytuje platný popisovač.
CORDBG_E_MISSING_DATA_TARGET_INTERFACE pDataTarget neimplementuje požadovaná rozhraní cíle dat pro tuto verzi modulu runtime.
CORDBG_E_NOT_CLR Uvedený modul není modulem CLR. Tato funkce HRESULT se vrátí také v případě, že modul CLR nelze zjistit, protože je poškozena paměť, modul není k dispozici nebo verze CLR je novější než verze převráceného kódu.
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL Tato verze modulu runtime nepodporuje tento model ladění. V současné době model ladění nepodporuje verze CLR před rozhraním .NET Framework 4. Výstupní pwszVersion parametr je po této chybě stále nastavený na správnou hodnotu.
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT Verze MODULU CLR je vyšší než verze, která tento ladicí program deklaruje podporu. Výstupní pwszVersion parametr je po této chybě stále nastavený na správnou hodnotu.
E_NO_INTERFACE Rozhraní riidProcess není k dispozici.
CORDBG_E_UNSUPPORTED_VERSION_STRUCT Struktura CLR_DEBUGGING_VERSION nemá rozpoznanou hodnotu pro wStructVersion. Jediná akceptovaná hodnota je v tuto chvíli 0.

Výjimky

Poznámky

Požadavky

Platformy: Viz požadavky na systém.

Hlavička: CorDebug.idl, CorDebug.h

Knihovna: CorGuids.lib

Verze rozhraní .NET Framework: Dostupné od verze 4

Verze .NET: Dostupné od .NET Core 2.1

Viz také