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 null
tato 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