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