Éviter d'appeler des méthodes posant problème
Mise à jour : novembre 2007
TypeName |
AvoidCallingProblematicMethods |
CheckId |
CA2001 |
Catégorie |
Microsoft.Reliability |
Modification avec rupture |
Modification sans rupture |
Cause
Un membre appelle une méthode potentiellement dangereuse ou problématique.
Description de la règle
Évitez de faire des appels de méthode inutiles et potentiellement dangereux.
Cette règle se déclenche lorsqu'un membre appelle l'une des méthodes suivantes :
Type.InvokeMember with BindingFlags.NonPublic
CoSetProxyBlanket (Ole32)
CoInitializeSecurity (Ole32)
Raison d'éviter CoSetProxyBlanket dans le code managé
Au moment où le code utilisateur démarre l'exécution dans un processus managé, il est trop tard pour appeler CoSetProxyBlanketde manière fiable. Le CLR effectue des actions d'initialisation qui peuvent ou pas empêcher les utilisateurs P/Invoke de réussir.
Si vous devez appeler CoSetProxyBlanket pour une application managée, nous vous recommandons de démarrer le processus à l'aide d'un fichier exécutable de code natif (C++), d'appeler CoSetProxyBlanket dans le code natif, puis de démarrer votre application de code managé dans le processus. (Assurez-vous de spécifier un numéro de version du runtime.)
Comment corriger les violations
Pour résoudre une violation de cette règle, supprimez ou remplacez l'appel à la méthode dangereuse ou problématique.
Quand supprimer les avertissements
Ne supprimez aucun avertissement de cette règle.