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_ が、重要度ビットの値に対応しています。