Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Ottiene l'interfaccia ICorDebugProcess che corrisponde a un modulo CLR (Common Language Runtime) caricato nel processo.
Sintassi
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.
COR_E_NOT_CLR viene restituito se il modulo specificato non è un modulo CLR.
pDataTarget [in] Astrazione di destinazione dati che consente al debugger gestito di controllare lo stato del processo. Il debugger deve implementare l'interfaccia ICorDebugDataTarget . È necessario implementare l'interfaccia ICLRDebuggingLibraryProvider per supportare scenari in cui CLR in fase di debug non è installato localmente nel computer.
pLibraryProvider [in] Interfaccia di callback del provider di librerie che consente di individuare e caricare librerie di debug specifiche della versione su richiesta. Questo parametro è obbligatorio solo se ppProcess o pFlags non nullè .
pMaxDebuggerSupportedVersion [in] Versione più recente di CLR di cui il debugger può eseguire il debug. È necessario specificare le versioni principali, secondarie e build dalla versione CLR più recente supportata dal debugger e impostare il numero di revisione su 65535 per supportare le future versioni di manutenzione CLR sul posto.
riidProcess [in] ID dell'interfaccia ICorDebugProcess da recuperare. Attualmente, gli unici valori accettati sono IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2e 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ò anche puntare a una struttura CLR_DEBUGGING_VERSION , nel qual caso il campo della wStructVersion struttura deve essere inizializzato su 0 (zero).
In caso di output, la struttura restituita verrà compilata CLR_DEBUGGING_VERSION con le informazioni sulla versione per CLR.
pdwFlags [out] Flag informativi sul runtime specificato. Per una descrizione dei flag, vedere CLR_DEBUGGING_PROCESS_FLAGS.
Valore restituito
Questo metodo restituisce gli HRESULT specifici seguenti e gli errori HRESULT che indicano l'errore del metodo.
| HRESULT | Description |
|---|---|
| S_OK | Il metodo è stato completato 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 |
pDataTarget non implementa le interfacce di destinazione dati necessarie per questa versione del runtime. |
| CORDBG_E_NOT_CLR | Il modulo indicato non è un modulo CLR. Questo valore HRESULT viene restituito anche quando non è possibile rilevare un modulo CLR perché la memoria è danneggiata, il modulo non è disponibile o la versione CLR è successiva alla versione 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 CLR precedenti a .NET Framework 4. Il pwszVersion parametro di output è ancora impostato sul valore corretto dopo questo errore. |
| CORDBG_E_UNSUPPORTED_FORWARD_COMPAT | La versione di CLR è maggiore della versione supportata dal debugger. Il pwszVersion parametro di output è ancora impostato sul valore corretto dopo questo errore. |
| E_NO_INTERFACE | L'interfaccia riidProcess non è disponibile. |
| CORDBG_E_UNSUPPORTED_VERSION_STRUCT | La CLR_DEBUGGING_VERSION struttura non ha un valore riconosciuto per wStructVersion. L'unico valore accettato al momento è 0. |
Exceptions
Osservazioni:
Requisiti
Piattaforme: Vedere Requisiti di sistema.
Intestazione: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versioni di .NET Framework: Disponibile da 4
Versioni di .NET: Disponibile a partire da .NET Core 2.1