ICLRDebugging::OpenVirtualProcess, méthode
Obtient l'interface ICorDebugProcess qui correspond à un module Common Language Runtime (CLR) chargé dans le processus.
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 sera retourné si le module spécifié n'est pas un module du CLR.pDataTarget
[in] Abstraction de cible de données qui permet au débogueur managé d'inspecter l'état de processus. Le débogueur doit implémenter l'interface ICorDebugDataTarget. Vous devez implémenter l'interface ICLRDebuggingLibraryProvider de sorte qu'elle prenne en charge les scénarios dans lesquels le CLR en cours de débogage n'est pas installé localement sur l'ordinateur.pLibraryProvider
[in] Interface de rappel de fournisseur de bibliothèque qui permet la recherche et le chargement à la demande des bibliothèques de débogage spécifiques à la version. Ce paramètre est uniquement obligatoire si ppProcess ou pFlags n'est pas null.pMaxDebuggerSupportedVersion
[in] Version la plus récente du CLR que ce débogueur peut déboguer. Vous devez spécifier les versions majeure, mineure et de build à partir de la dernière version du CLR prise en charge par le débogueur, puis affecter au numéro de révision la valeur 65535 pour accueillir les futures versions de maintenance du CLR sur place.riidProcess
[in] ID de l'interface ICorDebugProcess à extraire. Actuellement, les seules valeurs acceptées sont IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2 et 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. Elle peut également pointer vers une structure CLR_DEBUGGING_VERSION, auquel cas le champ wStructVersion de la structure doit être initialisé avec la valeur 0 (zéro).Lors de la sortie, la structure CLR_DEBUGGING_VERSION retournée contiendra les informations de version du CLR.
pdwFlags
[out] Indicateurs à caractère informatif concernant le runtime spécifié. Consultez la rubrique CLR_DEBUGGING_PROCESS_FLAGS pour une description des indicateurs.
Valeur de retour
Cette méthode retourne les HRESULT spécifiques suivants ainsi que les erreurs HRESULT qui indiquent l'échec de la méthode.
HRESULT |
Description |
---|---|
S_OK |
La méthode s'est correctement terminée. |
E_POINTER |
pDataTarget est 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 de cibles de données obligatoires pour cette version du runtime. |
CORDBG_E_NOT_CLR |
Le module indiqué n'est pas un module du CLR. Ce HRESULT est également retourné lorsqu'un module du CLR ne peut pas être détecté pour l'une des raisons suivantes : la mémoire a été endommagée, le module n'est pas disponible ou la version du CLR est plus récente que la version du 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 du CLR antérieures au .NET Framework version 4. La valeur du paramètre de sortie pwszVersion est toujours correcte après cette erreur. |
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT |
La version du CLR est plus récente que la version prise en charge par ce débogueur. La valeur du paramètre de sortie pwszVersion est toujours correcte après cette erreur. |
E_NO_INTERFACE |
L'interface riidProcess n'est pas disponible. |
CORDBG_E_UNSUPPORTED_VERSION_STRUCT |
La structure CLR_DEBUGGING_VERSION n'a pas de valeur reconnue pour wStructVersion. La seule valeur actuellement acceptée est 0. |
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : CorDebug.idl, CorDebug,h
Bibliothèque : CorGuids.lib
Versions du .NET Framework : 4