System.HResult

提供:RAD Studio API Documentation

Delphi

{$EXTERNALSYM HRESULT} { long }
{$ELSE}
HRESULT = type LongInt;  { from wtypes.h }

C++

typedef HRESULT              HResult;          //

プロパティ

種類 可視性 ソース ユニット 親
type
typedef
public
System.pas
sysmac.h
System System


説明

HResult は、エラー コードを返す関数の戻り値型です。

多くの関数が HResult 値を返して、オペレーションの成功または失敗を示します。 このデータ型は、元は Win32 プラットフォーム用に定義されたものですが、今ではさまざまなプラットフォーム上で動く数多くの API で使われています。 HResult 値の正確な使用方法は API によってさまざまですが、一定の基礎的な規約は通常以下のとおりです。

HResult 値は 32 ビットで、上位ビットから順に、以下のフィールドで構成されています。

  • 1 ビットの重要度のフィールド。 重要度ビットは、致命的なエラーが発生した場合に 1、それ以外は 0 になります。
  • 4 ビットの使われていないフィールド。
  • 11 ビットの機能コード。HResult 値の一般的な性質を示します。 汎用の HResult 値の機能コードは 0 です。
  • 16 ビットのエラー コード。具体的なエラーを表します。 エラー コード 0 は、エラーが発生しなかったことを表します。

次の表は、HResult 型の値の一覧です:

定数 16 進数 意味

S_OK

0

エラーは発生しませんでした。 API によっては、操作が成功して True の値が返されたことを S_OK で示します。

S_FALSE

$00000001

エラーは発生しませんでしたが、操作から有益な結果が得られませんでした。 API によっては、操作が成功して False の値が返されたことを S_FALSE で示します。

E_NOINTERFACE

$80004002

インターフェイスがサポートされていません。

E_UNEXPECTED

$8000FFFF

重大な障害が発生しました。

E_NOTIMPL

$80004001

操作が実装されていません。

上記の定数名では、先頭の S_ および E_ が、重要度ビットの値に対応しています。