Click here to visit our sponsor

HRESULT


エラーコード (HRESULT)

Format
313029282726252423222120191817161514131211109876543210
SRCNrFacilityStatus Code

S - Severity 成否を意味する (0=Success/1=Fail)
R,C,N,r - 予約

Facility
FACILITY_NULL0S_OK など汎用的な戻り値を返すため使用される
FACILITY_PRC1RPC からのエラー
FACILITY_DISPATCH2IDispatch インターフェイスからのエラー
FACILITY_STORAGE3IStorage, IStream からのエラー
FACILITY_ITF4カスタムインターフェイスが定義
FACILITY_WIN327Win32 API からのエラー
FACILITY_WINDOWS8標準インターフェイスからのエラー
FACILITY_SSPI9SSPI からのエラー
FACILITY_MSMQ14Microsoft Message Queue Server からのエラー
FACILITY_COMPLUS17COM+ サービスからのエラー

FACILITY_ITF の時のみユーザーが定義できるそうだ。
ただし Status の 0x0000〜0x01FF は MS で予約してるそうな。
したがって、0x80040200〜0x8004FFFF の範囲でエラーコードを作成できる。


標準的なエラーコード

(数値は 16進表記です)

8000FFFFE_UNEXPECTEDCatastrophic failure
80004001E_NOTIMPLNot implemented
8007000EE_OUTOFMEMORYRan out of memory
80070057E_INVALIDARGOne or more arguments are invalid
80004002E_NOINTERFACENo such interface supported
80004003E_POINTERInvalid pointer
80070006E_HANDLEInvalid handle
80004004E_ABORTOperation aborted
80004005E_FAILUnspecified error
80070005E_ACCESSDENIEDGeneral access denied error
8000000AE_PENDINGThe data necessary to complete this operation is not yet available.
  • E_UNEXPECTED は、あらゆるインターフェイスのあらゆるメソッドが戻す可能性のあるエラー
Public Const E_UNEXPECTED   = &H8000FFFF
Public Const E_NOTIMPL      = &H80004001
Public Const E_OUTOFMEMORY  = &H8007000E
Public Const E_INVALIDARG   = &H80070057
Public Const E_NOINTERFACE  = &H80004002
Public Const E_POINTER      = &H80004003
Public Const E_HANDLE       = &H80070006
Public Const E_ABORT        = &H80004004
Public Const E_FAIL         = &H80004005
Public Const E_ACCESSDENIED = &H80070005
Public Const E_PENDING      = &H8000000A

ホストのエラー出力

コンポーネントから受け取ったエラーコードを、
ホストがどのように変換するのかを、一部調べました。

WSH 5.6 日本語版
originalerrorWSHdescription
80004001E_NOTIMPL800001BDこのオブジェクトではサポートされていない操作です。
8007000EE_OUTOFMEMORY800A0007メモリが不足しています。
80070057E_INVALIDARG800A0005プロシージャの呼び出し、または引数が不正です。
80004002E_NOINTERFACE800A01AEクラスはオートメーションをサポートしていません。
80070005E_ACCESSDENIED800A0046書き込みできません。
Visual Basic 6.0 日本語版
originalerrorVB(10進)description
80004001E_NOTIMPL445オブジェクトはこの動作をサポートしていません。
8007000EE_OUTOFMEMORY7メモリが不足しています。
80070057E_INVALIDARG5プロシージャの呼び出し、または引数が不正です。
80004002E_NOINTERFACE430クラスはオートメーションまたは予測したインターフェースをサポートしていません。
80004004E_ABORT287アプリケーション定義またはオブジェクト定義のエラーです。
80070005E_ACCESSDENIED70書き込みできません。
80020001DISP_E_UNKNOWNINTERFACE438オブジェクトは、このプロパティまたはメソッドをサポートしていません。
80020003DISP_E_MEMBERNOTFOUND438オブジェクトは、このプロパティまたはメソッドをサポートしていません。
80020006DISP_E_UNKNOWNNAME438オブジェクトは、このプロパティまたはメソッドをサポートしていません。
80020004DISP_E_PARAMNOTFOUND448名前付き引数が見つかりません。
80020005DISP_E_TYPEMISMATCH13型が一致しません。
80020007DISP_E_NONAMEDARGS446オブジェクトは名前付き引数をサポートしていません。
80020008DISP_E_BADVARTYPE458Visual Basic でサポートされていないオートメーションが変数で使用されています。
8002000ADISP_E_OVERFLOW6オーバーフローしました。
8002000BDISP_E_BADINDEX9インデックスが有効範囲にありません。
8002000CDISP_E_UNKNOWNLCID447オブジェクトは現在の国別情報の設定をサポートしていません。
8002000DDISP_E_ARRAYISLOCKED10この配列は固定されているか、または一時的にロックされています。
8002000EDISP_E_BADPARAMCOUNT450引数の数が一致していません。または不正なプロパティを指定しています。
8002000FDISP_E_PARAMNOTOPTIONAL449引数は省略できません。
80020011DISP_E_NOTACOLLECTION451Property Let プロシージャが定義されておらず、Property Get プロシージャからオブジェクトが返されませんでした。
80020012DISP_E_DIVBYZERO110 で除算しました。
80028017TYPE_E_FIELDNOTFOUND461メソッドまたはデータ メンバが見つかりません。
8002802FTYPE_E_DLLFUNCTIONNOTFOUND453関数は指定された DLL には定義されていません。
80028CA0TYPE_E_TYPEMISMATCH13型が一致しません。
80028CA1TYPE_E_OUTOFBOUNDS9インデックスが有効範囲にありません。
80028CA2TYPE_E_IOERROR57デバイス I/O エラーです。
80028CA3TYPE_E_CANTCREATETMPFILE322必要な一時ファイルを作成できません。
80029C4ATYPE_E_CANTLOADLIBRARY48DLL 読み込み時のエラーです。
80030002STG_E_FILENOTFOUND432オートメーションの操作中にファイル名またはクラス名を見つけられませんでした。
80030003STG_E_PATHNOTFOUND76パスが見つかりません。
80030004STG_E_TOOMANYOPENFILES67ファイルが多すぎます。
80030005STG_E_ACCESSDENIED70書き込みできません。
80030006STG_E_INVALIDHANDLE7メモリが不足しています。
80030012STG_E_NOMOREFILES67ファイルが多すぎます。
80030013STG_E_DISKISWRITEPROTECTED70書き込みできません。
80030020STG_E_SHAREVIOLATION75パス名が無効です。
80030021STG_E_LOCKVIOLATION70書き込みできません。
80030050STG_E_FILEALREADYEXISTS58既に同名のファイルが存在しています。
80030070STG_E_MEDIUMFULL61ディスクの空き容量が不足しています。
800300FCSTG_E_INVALIDNAME53ファイルが見つかりません。
80030100STG_E_INUSE70書き込みできません。
80030101STG_E_NOTCURRENT70書き込みできません。
80030103STG_E_CANTSAVE57デバイス I/O エラーです。
800401F5CO_E_APPNOTFOUND429ActiveX コンポーネントはオブジェクトを作成できません。
800401FECO_E_APPDIDNTREG429ActiveX コンポーネントはオブジェクトを作成できません。
80080005CO_E_SERVER_EXEC_FAILURE429ActiveX コンポーネントはオブジェクトを作成できません。
80040112CLASS_E_NOTLICENSED429ActiveX コンポーネントはオブジェクトを作成できません。
80040154REGDB_E_CLASSNOTREG429ActiveX コンポーネントはオブジェクトを作成できません。
800401E3MK_E_UNAVAILABLE429ActiveX コンポーネントはオブジェクトを作成できません。
800401E6MK_E_INVALIDEXTENSION432オートメーションの操作中にファイル名またはクラス名を見つけられませんでした。
800401EAMK_E_CANTOPENFILE432オートメーションの操作中にファイル名またはクラス名を見つけられませんでした。

参考


資料ページトップ

HOME

兄弟ページ 姉妹ページ
Click here to visit our sponsor