Partager via


ICLRDebugging ::OpenVirtualProcess, méthode

Obtient l’interface ICorDebugProcess qui correspond à un module CLR (Common Language Runtime) chargé dans le processus.

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

Paramètres

moduleBaseAddress [in] Adresse de base d’un module dans le processus cible. COR_E_NOT_CLR est retourné si le module spécifié n’est pas un module CLR.

pDataTarget [in] Abstraction de la cible de données qui permet au débogueur managé d’inspecter l’état du processus. Le débogueur doit implémenter l’interface ICorDebugDataTarget . Vous devez implémenter l’interface ICLRDebuggingLibraryProvider pour prendre en charge les scénarios où le CLR en cours de débogage n’est pas installé localement sur l’ordinateur.

pLibraryProvider [in] Interface de rappel du fournisseur de bibliothèque qui permet aux bibliothèques de débogage spécifiques à la version de se trouver et de les charger à la demande. Ce paramètre est obligatoire uniquement si ppProcess ou pFlags n’est pas null.

pMaxDebuggerSupportedVersion [in] Version la plus élevée du CLR que ce débogueur peut déboguer. Vous devez spécifier les versions principales, mineures et de build de la dernière version clR prise en charge par ce débogueur et définir le numéro de révision sur 65535 pour prendre en charge les futures versions de maintenance CLR sur place.

riidProcess [in] ID de l’interface ICorDebugProcess à récupérer. Actuellement, les seules valeurs acceptées sont IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2et IID_CORDEBUGPROCESS.

ppProcess [out] Pointeur vers l’interface COM identifiée par riidProcess.

pVersion [in, out] Version du CLR. Lors de l’entrée, cette valeur peut être null. Il peut également pointer vers une structure CLR_DEBUGGING_VERSION , auquel cas le champ de wStructVersion la structure doit être initialisé à 0 (zéro).

En sortie, la structure retournée CLR_DEBUGGING_VERSION est renseignée avec les informations de version du CLR.

pdwFlags [out] Indicateurs d’information sur le runtime spécifié. Pour obtenir une description des indicateurs, consultez CLR_DEBUGGING_PROCESS_FLAGS.

Valeur de retour

Cette méthode retourne les HRESULT spécifiques suivantes ainsi que les erreurs HRESULT qui indiquent une défaillance de méthode.

HRESULT Descriptif
S_OK La méthode s’est terminée avec succès.
E_POINTER pDataTarget a la valeur null.
CORDBG_E_LIBRARY_PROVIDER_ERROR Le rappel ICLRDebuggingLibraryProvider retourne une erreur ou ne fournit pas de handle valide.
CORDBG_E_MISSING_DATA_TARGET_INTERFACE pDataTarget n’implémente pas les interfaces cibles de données requises pour cette version du runtime.
CORDBG_E_NOT_CLR Le module indiqué n’est pas un module CLR. Ce HRESULT est également retourné lorsqu’un module CLR ne peut pas être détecté, car la mémoire a été endommagée, que le module n’est pas disponible ou que la version CLR est ultérieure à la version shim.
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL Cette version du runtime ne prend pas en charge ce modèle de débogage. Actuellement, le modèle de débogage n’est pas pris en charge par les versions clR avant .NET Framework 4. Le pwszVersion paramètre de sortie est toujours défini sur la valeur correcte après cette erreur.
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT La version du CLR est supérieure à la version prise en charge par ce débogueur. Le pwszVersion paramètre de sortie est toujours défini sur la valeur correcte après cette erreur.
E_NO_INTERFACE L’interface riidProcess n’est pas disponible.
CORDBG_E_UNSUPPORTED_VERSION_STRUCT La CLR_DEBUGGING_VERSION structure n’a pas de valeur reconnue pour wStructVersion. La seule valeur acceptée à ce stade est 0.

Exceptions

Remarques

Spécifications

Plateformes : Consultez Configuration requise.

En-tête: CorDebug.idl, CorDebug.h

Bibliothèque : CorGuids.lib

Versions du .NET Framework : Disponible depuis 4

Versions de .NET : Disponible depuis .NET Core 2.1

Voir aussi