ICorProfilerInfo4::RequestRevert, méthode

Rétablit les versions d'origine de toutes les instances des fonctions spécifiées.

Syntaxe

HRESULT RequestRevert (  
   [in] ULONG    cFunctions,  
   [in, size_is(cFunctions)]  ModuleID    moduleIds[],  
   [in, size_is(cFunctions)]  mdMethodDef methodIds[],  
   [out, size_is(cFunctions)]  HRESULT status[]);  

Paramètres

cFunctions
[in] Nombre de fonctions à rétablir.

moduleIds
[in] Spécifie la partie moduleId des paires (module, methodDef) qui identifient les fonctions à rétablir.

methodIds
[in] Spécifie la partie methodId des paires (module, methodDef) qui identifient les fonctions à rétablir.

status
[out] Tableau de HRESULT répertoriés dans la section « HRESULT d'état » plus loin dans cette rubrique. Chaque HRESULT indique la réussite ou l'échec de la tentative de rétablissement de chaque fonction spécifiée dans les tableaux parallèles moduleIds et methodIds.

Valeur de retour

Cette méthode retourne les HRESULT spécifiques suivants ainsi que les erreurs HRESULT indiquant l'échec de la méthode.

HRESULT Description
S_OK Une tentative de rétablissement de toutes les demandes a été effectuée ; toutefois, le tableau d'états retourné doit être examiné pour déterminer les fonctions qui ont été correctement rétablies.
CORPROF_E_CALLBACK4_REQUIRED Le profileur doit implémenter l’interface ICorProfilerCallback4 pour que cet appel soit pris en charge.
CORPROF_E_REJIT_NOT_ENABLED La recompilation juste-à-temps n'a pas été activée. Vous devez activer la recompilation juste-à-temps pendant l’initialisation à l’aide de la méthode ICorProfilerInfo::SetEventMask pour définir l’indicateur COR_PRF_ENABLE_REJIT.
E_INVALIDARG cFunctions est égal à 0, ou moduleIds ou methodIds a la valeur NULL.
E_OUTOFMEMORY Le CLR n'a pas pu terminer la demande en raison d'une mémoire insuffisante.

HRESULT d'état

HRESULT du tableau d'états Description
S_OK La fonction correspondante a été rétablie.
E_INVALIDARG Le paramètre moduleID ou methodDef est NULL.
CORPROF_E_DATAINCOMPLETE Le module n'est pas encore totalement chargé ou il est en cours de déchargement.
CORPROF_E_MODULE_IS_DYNAMIC Le module spécifié a été généré dynamiquement (par exemple, par Reflection.Emit). Par conséquent, il n'est pas pris en charge par cette méthode.
CORPROF_E_ACTIVE_REJIT_REQUEST_NOT_FOUND Le CLR ne peut pas rétablir la fonction spécifiée, car une demande de recompilation active correspondante est introuvable. La recompilation n'a jamais demandée ou la fonction a déjà été rétablie.
Autres Le système d'exploitation a retourné un échec en dehors du contrôle du CLR. Par exemple, en cas d'échec d'un appel système visant à modifier la protection d'accès d'une page de mémoire, l'erreur du système d'exploitation s'affiche.

Notes

Lors du prochain appel des instances de la fonction rétablie, les versions d’origine des fonctions seront exécutées. Si une fonction est déjà en cours d'exécution, il termine l'exécution de la version en cours d'exécution.

Spécifications

Plateformes : Consultez Configuration requise.

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

Bibliothèque : CorGuids.lib

Versions de .NET Framework : disponible depuis la version 4.5

Voir aussi