2013-08-23 2 views
1

Dans mon code C# je veux pouvoir enregistrer COMException s de sorte que non seulement la représentation hexadécimale de HRESULT s (par exemple, 0x80004005) soit sortie mais aussi le symbole de définition WinError.h correspondant (tel que E_FAIL) est produit.Existe-t-il une méthode intégrée pour représenter un HRESULT comme une constante winerror.h telle que E_FAIL?

Si j'appelle ToString() sur la référence d'exception, il n'y a qu'une représentation hexadécimale.

Existe-t-il un moyen intégré pour obtenir les constantes lisibles par l'homme E_FAIL pour les valeurs HRESULT à l'intérieur des objets COMException?

Répondre

4

Quelque chose comme cela en utilisant COMException « s HResult propriété

unchecked 
{ 
    var msg = Marshal.GetExceptionForHR((int)0x80004005).Message; 
} 
Questions connexes