Condividi tramite


Metodo ICLRDebugging::OpenVirtualProcess

Ottiene l'interfaccia ICorDebugProcess che corrisponde a un modulo Common Language Runtime (CLR) caricato nel processo.

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

Parametri

  • moduleBaseAddress
    [in] Indirizzo di base di un modulo nel processo di destinazione. Se il modulo specificato non è un modulo CLR, verrà restituito COR_E_NOT_CLR.

  • pDataTarget
    [in] Astrazione di destinazione dei dati che consente al debugger gestito di esaminare lo stato del processo. Il debugger deve implementare l'interfaccia ICorDebugDataTarget. È necessario implementare l'interfaccia ICLRDebuggingLibraryProvider per supportare gli scenari dove il runtime di cui si sta eseguendo il debug non è installato localmente nel computer.

  • pLibraryProvider
    [in] Interfaccia di callback di provider di librerie che consente di individuare e caricare su richiesta librerie di debug specifiche della versione. Questo parametro è obbligatorio solo se ppProcess o pFlags non è null.

  • pMaxDebuggerSupportedVersion
    [in] Versione più recente di CLR di cui questo debugger è in grado di eseguire il debug. È necessario specificare i numeri principale, secondario e di build della versione più recente di CLR supportata da questo debugger e impostare il numero di revisione su 65535 per consentire l'utilizzo delle versioni Service Release future di CLR sul posto.

  • riidProcess
    [in] ID dell'interfaccia ICorDebugProcess da recuperare. Attualmente, gli unici valori accettati sono IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2 e IID_CORDEBUGPROCESS.

  • ppProcess
    [out] Puntatore all'interfaccia COM identificata da riidProcess.

  • pVersion
    [in, out] Versione di CLR. In input, questo valore può essere null. Può inoltre puntare a una struttura CLR_DEBUGGING_VERSION. In questo caso, il campo della struttura wStructVersion deve essere inizializzato su 0 (zero).

    In output, la struttura CLR_DEBUGGING_VERSION restituita verrà compilata con le informazioni sulla versione di CLR.

  • pdwFlags
    [out] Contrassegni informativi sul runtime specificato. Per una descrizione dei contrassegni, vedere l'argomento CLR_DEBUGGING_PROCESS_FLAGS.

Valore restituito

Questo metodo restituisce gli HRESULT specifici seguenti nonché gli errori HRESULT che indicano l'esito negativo del metodo.

HRESULT

Oggetto di descrizione

S_OK

Il metodo è stato eseguito correttamente.

E_POINTER

pDataTarget è null.

CORDBG_E_LIBRARY_PROVIDER_ERROR

Il callback ICLRDebuggingLibraryProvider restituisce un errore o non fornisce un handle valido.

CORDBG_E_MISSING_DATA_TARGET_INTERFACE

L'oggetto pDataTarget non implementa le interfacce di destinazione dei dati obbligatorie per questa versione di runtime.

CORDBG_E_NOT_CLR

Il modulo indicato non è un modulo CLR. Questo HRESULT viene restituito anche quando non è possibile rilevare un modulo CLR perché è stata danneggiata la memoria, il modulo non è disponibile o la versione di CLR è successiva alla versione di shim.

CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL

Questa versione di runtime non supporta questo modello di debug. Attualmente, il modello di debug non è supportato dalle versioni di CLR precedenti a .NET Framework versione 4. Dopo questo errore, il parametro di output pwszVersion resta comunque impostato sul valore corretto.

CORDBG_E_UNSUPPORTED_FORWARD_COMPAT

La versione di CLR è maggiore della versione che questo debugger dichiara di supportare. Dopo questo errore, il parametro di output pwszVersion resta comunque impostato sul valore corretto.

E_NO_INTERFACE

L'interfaccia riidProcess non è disponibile.

CORDBG_E_UNSUPPORTED_VERSION_STRUCT

La struttura CLR_DEBUGGING_VERSION non presenta un valore riconosciuto per wStructVersion. Al momento, l'unico valore accettato è 0.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorDebug.idl, CorDebug.h

Libreria: CorGuids.lib

Versioni di .NET Framework: 4

Vedere anche

Altre risorse

Interfacce di debug

Debug (riferimenti alle API non gestite)