com 例外から HRESULT の値を取得しようとすると警告が表示されます。これが C# で COM 例外を処理する正しい方法ではないのではないかと疑っています。コードは次のようになります。
try
{
...
}
catch (System.Runtime.InteropServices.COMException comex)
{
// Warning 8 Comparison to integral constant is useless; the constant is outside the range of type 'int'
if (comex.ErrorCode == Constants.E_FAIL)
{
}
}
E_FAIL は次のように定義されます。
public const UInt32 E_FAIL = 0x80004005;