using System; using System.Runtime.InteropServices; namespace Developpez.Dotnet.System { /// /// Représente un code de retour COM (HRESULT). Peut être utilisé pour la /// déclaration de fonctions P/Invoke. /// [StructLayout(LayoutKind.Sequential)] public struct HResult { private int _value; /// /// Renvoie la valeur numérique du HResult /// public int Value { get { return _value; } } /// /// Renvoie l'exception correspondant à ce HResult /// public Exception Exception { get { return Marshal.GetExceptionForHR(_value); } } /// /// Indique si ce HResult correspond à une réussite de l'opération /// public bool IsSuccess { get { return _value >= 0; } } /// /// Indique si ce HResult correspond à un échec de l'opération /// public bool IsFailure { get { return _value < 0; } } } }