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