Microsoft DirectX 8.0

エラーおよび成功コード

Microsoft® DirectShow® は、エラーおよび成功通知 (戻りコード) を HRESULT 値のフォーマットでアプリケーションに返す。戻りコードの LOWORD 部分は、16 進フォーマットの戻りコードそのものを表す。戻りコードを取得した後で AMGetErrorText 関数を呼び出すと、コードのテキスト記述が返される。COM Win32 HRESULT のドキュメントには、FAILED および SUCCEEDED マクロを使用して戻り値をテストする方法など、詳しい情報が記載されている。

このトピックは、以下のセクションを含んでいる。

一般的な COM HRESULT 値

以下に、DirectShow が返す一般的な COM エラー コードと成功コードのいくつかを示す。
意味
E_FAIL失敗。
E_INVALIDARG引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足。
E_POINTERNULL ポインタ引数。
E_UNEXPECTED予期せぬエラー。
NOERRORエラーなし。数値的には S_OK と同じ。
S_FALSE成功。条件が FALSE だった。
S_OK成功。数値的には NOERROR と同じ。
S_TRUE成功。条件が TRUE だった。

DirectShow に固有の HRESULT 値

以下の表に、DirectShow に固有のエラーおよび成功コードを数字の順に示す。VFW_S_ で始まる戻りコードは全体としての成功を示す。処理が部分的に成功してそれ以外に成功を示す戻り値を返すこともある。たとえば VFW_S_SOME_DATA_IGNORED は、プロパティ設定のいくつかを無視してファイルがレンダリングされたことを示す。VFW_E_ で始まる戻りコードはエラーを示し、CTL_ (制御エラー コード) で始まる戻りコードは Microsoft® Windows Media™ Player コントロールに関係する情報を示す。この表は可能な戻り値コードをすべて網羅したものではなく、特に DirectShow に関係する戻りコードをリストしてある。DirectShow に固有の戻りコードは、Vfwmsgs.h ヘッダー ファイルにも記述されている。ここにリストされていないエラーが発生した場合は、別のソース、たとえば COM または Microsoft® Windows® 9x エラーの一覧などを参照すること。たとえば Microsoft® Visual C++® ユーザーであれば、Winerror.h インクルード ファイルを見れば COM または Windows 9x エラーを調べることができる。

C/C++ プログラマは、完全な (32 ビット) 16 進フォーマットのエラー コードを受け取る。一方、Microsoft® Visual Basic® プログラマは、エラー コードの先頭 16 ビットだけに相当する 10 進値を受け取る。この値は、エラー通知ダイアログ ボックスまたは Err オブジェクトにランタイム エラーとして表示される。エラーが以下の表に示されていない場合は、10 進値を対応する 16 進値に変換してから前述のようにそれに対応するエラーを調べる必要がある。エラーの 16 進値は最大で 4 桁である。エラーを調べるには、エラー コード表に記載された 16 進コードの最後の 4 桁を、変換されたランタイム エラーと照合する。
戻りコード説明16 進値10 進値 (LOWORD)
CTL_E_ILLEGALFUNCTIONCALL 関数呼び出しの構文に誤りがある。 0x800A0005 5
CTL_E_OVERFLOW 結果が大きすぎて関数の戻り型で表すことができない。 0x800A0006 6
CTL_E_OUTOFMEMORY メモリ不足のために要求された処理を行えない。 0x800A0007 7
CTL_E_DIVISIONBYZERO 関数がゼロによる除算を行うとした。 0x800A000B 11
CTL_E_OUTOFSTRINGSPACE 文字列空間不足のために要求された処理を行えない。一部の操作 (たとえばコピー) では、文字列空間を使い果たすような一時文字列が使用されることがある。 0x800A000E 14
CTL_E_OUTOFSTACKSPACE 文字列空間不足のために要求された処理を行えない。各スレッドには専用のスタックがある一方で、ほかのリソース (たとえばヒープ メモリ) はプロセス内のすべてのスレッドで共用される。プログラムが必要とする追加のスレッドのそれぞれのスタックにどれ位のメモリを割り当てるかを指定しなければならない。オペレーティング システムは必要に応じてスレッドの追加スタック空間を割り当てるが、デフォルト値は自分で指定する必要がある。必要な空間をオペレーティング システムが割り当てることができない場合、このエラーが発生する。 0x800A001C 28
CTL_E_BADFILENAMEORNUMBER 関数がアクセスしようとしたファイルのファイル名または番号が無効である。 0x800A0034 52
CTL_E_FILENOTFOUND 関数がアクセスしようとしたファイルが見つからない。 0x800A0035 53
CTL_E_BADFILEMODE 関数が互換性のないファイル モードを持つファイルに対して操作を行おうとした。ファイル モードには、追加、バイナリ、入力、出力、ランダムがある。 0x800A0036 54
CTL_E_FILEALREADYOPEN 関数が既に開かれているファイルを開こうとした。 0x800A0037 55
CTL_E_DEVICEIOERROR 関数の実行中にデバイス I/O エラーが発生した。 0x800A0039 57
CTL_E_FILEALREADYEXISTS 関数が既に存在しているファイルを作成しようとした。 0x800A003A 58
CTL_E_BADRECORDLENGTH 関数が不正なファイル レコードにアクセスしようとした。たとえばランダム アクセス用に開かれるファイルは、同じ長さのレコードから構成されていることが想定される。 0x800A003B 59
CTL_E_DISKFULL 関数がディスクに書き込みを行おうとしたがディスクが一杯だった。 0x800A003D 61
CTL_E_BADRECORDNUMBER 関数が不正なファイル レコードにアクセスしようとした。レコード番号は、レコードセット (データ ソースのレコードのセット) 内の位置である。 0x800A003F 63
CTL_E_BADFILENAME 関数が不正なファイル名にアクセスしようとした。 0x800A0040 64
CTL_E_TOOMANYFILES 関数が既にたくさんのファイルを開きすぎている状態でファイルを開こうとした。 0x800A0043 67
CTL_E_DEVICEUNAVAILABLE 関数が利用できないデバイスにアクセスしようとした。 0x800A0044 68
CTL_E_PERMISSIONDENIED 関数が適切な権限を持たないファイルにアクセスしようとした。 0x800A0046 70
CTL_E_DISKNOTREADY 関数がディスクの準備が整っていないのにファイルにアクセスしようとした。 0x800A0047 71
CTL_E_PATHFILEACCESSERROR 関数が不正なまたは権限が不適切なファイルまたはパスにアクセスしようとした。 0x800A004B 75
CTL_E_PATHNOTFOUND 関数が不正なパスを持つファイルにアクセスしようとした。 0x800A004C 76
CTL_E_INVALIDPATTERNSTRING 関数が無効な文字列で呼び出された。 0x800A005D 93
CTL_E_INVALIDUSEOFNULL 関数が無効な NULL で呼び出された。 0x800A005E 94
VFW_S_NO_MORE_ITEMS リストにはもう項目がない。 0x00040103 259
CTL_E_INVALIDFILEFORMAT 関数が互換性のないファイル フォーマットを持つファイルに対して操作を行おうとした。 0x800A0141 321
CTL_E_INVALIDPROPERTYVALUE 関数が無効なプロパティ値で呼び出された。 0x800A017C 380
CTL_E_INVALIDPROPERTYARRAYINDEX 関数が無効なプロパティ配列インデックスで呼び出された。 0x800A017D 381
CTL_E_SETNOTSUPPORTEDATRUNTIME 関数が実行時に設定できないプロパティを設定しようとした。 0x800A017E 382
CTL_E_SETNOTSUPPORTED 関数が設定できないプロパティを設定しようとした。 0x800A017F 383
CTL_E_NEEDPROPERTYARRAYINDEX 配列インデックスが必要なプロパティに対して、関数が配列インデックスなしでアクセスしようとした。 0x800A0181 385
CTL_E_SETNOTPERMITTED 関数がプロパティを設定する適切な権限を持たずにプロパティを設定しようとした。 0x800A0183 387
CTL_E_GETNOTSUPPORTEDATRUNTIME 関数が実行時に取得できないプロパティを取得しようとした。 0x800A0189 393
CTL_E_GETNOTSUPPORTED 関数が取得できないプロパティを取得しようとした。 0x800A018A 394
CTL_E_PROPERTYNOTFOUND 関数が取得しようとしたプロパティが見つからない。 0x800A01A6 422
CTL_E_INVALIDCLIPBOARDFORMAT 関数が無効なクリップボード フォーマットで操作を行おうとした。 0x800A01CC 460
CTL_E_INVALIDPICTURE 関数が無効なピクチャ フォーマットで操作を行おうとした。 0x800A01E1 481
CTL_E_PRINTERERROR 関数が印刷を行おうとしたがプリンタ エラーが発生した。 0x800A01E2 482
VFW_E_INVALIDMEDIATYPE 指定されたメディア タイプは無効である。 0x80040200 512
VFW_E_INVALIDSUBTYPE 指定されたメディア サブタイプは無効である。 0x80040201 513
VFW_E_NEED_OWNER このオブジェクトは集成オブジェクトとしてのみ作成することができる。 0x80040202 514
VFW_E_ENUM_OUT_OF_SYNC 列挙オブジェクトの状態が変化して、列挙子の状態との矛盾が発生した。列挙子の前の呼び出しで取得したデータを破棄し、列挙子の Reset メソッドを呼び出してその列挙子を更新すること。 0x80040203 515
VFW_E_ALREADY_CONNECTED 処理に含まれるピンが既に少なくとも 1 つ接続されている。0x80040204 516
VFW_E_FILTER_ACTIVE フィルタがアクティブなので、この処理を実行できない。 0x80040205 517
VFW_E_NO_TYPES 指定されたいずれかのピンがメディア タイプをサポートしていない。0x80040206 518
VFW_E_NO_ACCEPTABLE_TYPES これらのピンの間に共通のメディア タイプがない。 0x80040207 519
VFW_E_INVALID_DIRECTION 同じ方向のピンを 2 つ接続することはできない。 0x80040208 520
VFW_E_NOT_CONNECTED ピンが接続されていないため、処理を実行できない。 0x80040209 521
VFW_E_NO_ALLOCATOR サンプル バッファ アロケータが利用不可能。 0x8004020A 522
VFW_E_RUNTIME_ERROR ランタイム エラーが発生した。 0x8004020B 523
VFW_E_BUFFER_NOTSET バッファ空間が設定されていない。 0x8004020C 524
VFW_E_BUFFER_OVERFLOW バッファが小さい。 0x8004020D 525
VFW_E_BADALIGN 無効なアラインメントが指定された。 0x8004020E 526
VFW_E_ALREADY_COMMITTED フィルタがアクティブのときは割り当て済みメモリを変更できない。 0x8004020F 527
VFW_E_BUFFERS_OUTSTANDING 1 つまたは複数のバッファがアクティブである。 0x80040210 528
VFW_E_NOT_COMMITTED アロケータがアクティブでないときはサンプルを割り当てることができない。 0x80040211 529
VFW_E_SIZENOTSET サイズが設定されていないので、メモリを割り当てることができない。 0x80040212 530
VFW_E_NO_CLOCK クロックが定義されていないので、同期化を行えない。 0x80040213 531
VFW_E_NO_SINK 品質シンクが定義されていないので、品質メッセージを送信できない。 0x80040214 532
VFW_E_NO_INTERFACE 必要なインターフェイスが実装されていない。 0x80040215 533
VFW_E_NOT_FOUND オブジェクトまたは名前が見つからなかった。 0x80040216 534
VFW_E_CANNOT_CONNECT 接続を確立する中間フィルタの組み合わせが見つからなかった。 0x80040217 535
VFW_E_CANNOT_RENDER ストリームをレンダリングするフィルタの組み合わせが見つからない。 0x80040218 536
VFW_E_CHANGING_FORMAT フォーマットを動的に変更できない。0x80040219 537
VFW_E_NO_COLOR_KEY_SET カラー キーが設定されていない。 0x8004021A 538
VFW_E_NOT_OVERLAY_CONNECTION 現在のピン接続はIOverlay 転送を使用していない。 0x8004021B 539
VFW_E_NOT_SAMPLE_CONNECTION 現在のピン接続は IMemInputPin 転送を使用していない。 0x8004021C 540
VFW_E_PALETTE_SET カラー キーを設定すると、既に設定されているパレットと矛盾する可能性がある。 0x8004021D 541
VFW_E_COLOR_KEY_SET パレットを設定すると、既に設定されているカラー キーと矛盾する可能性がある。 0x8004021E 542
VFW_E_NO_COLOR_KEY_FOUND 一致するカラー キーがない。 0x8004021F 543
VFW_E_NO_PALETTE_AVAILABLE パレットが利用不可能。 0x80040220 544
VFW_E_NO_DISPLAY_PALETTE ディスプレイはパレットを使用しない。 0x80040221 545
VFW_E_TOO_MANY_COLORS 現在のディスプレイ設定に対して色が多すぎる。 0x80040222 546
VFW_E_STATE_CHANGED サンプルの処理を待っている間に状態が変化した。 0x80040223 547
VFW_E_NOT_STOPPED フィルタが停止されていないので、処理を実行できない。 0x80040224 548
VFW_E_NOT_PAUSED フィルタがポーズされていないので、処理を実行できない。 0x80040225 549
VFW_E_NOT_RUNNING フィルタが実行されていないので、処理を実行できない。 0x80040226 550
VFW_E_WRONG_STATE フィルタの状態に誤りがあるので、処理を実行できない。 0x80040227 551
VFW_E_START_TIME_AFTER_END サンプルの開始タイムがサンプルの終了タイムの後になっている。 0x80040228 552
VFW_E_INVALID_RECT 提供された矩形が無効である。 0x80040229 553
VFW_E_TYPE_NOT_ACCEPTED このピンは、提供されたメディア タイプを使用できない。 0x8004022A 554
VFW_E_SAMPLE_REJECTED このサンプルはレンダリングできない。0x8004022B 555
VFW_E_SAMPLE_REJECTED_EOS ストリームの終わりに到達しているので、このサンプルをレンダリングできない。 0x8004022C 556
VFW_E_DUPLICATE_NAME 同じ名前のフィルタを追加しようとしたが失敗した。 0x8004022D 557
VFW_S_DUPLICATE_NAME 同じ名前のフィルタを追加しようとしたところ、名前を変更して処理が成功した。 0x0004022D 557
VFW_E_TIMEOUT タイムアウト期間が過ぎた。 0x8004022E 558
VFW_E_INVALID_FILE_FORMAT フォーマットが無効である。 0x8004022F 559
VFW_E_ENUM_OUT_OF_RANGE リストが使い果たされた。 0x80040230 560
VFW_E_CIRCULAR_GRAPH フィルタ グラフが繰り返しである。 0x80040231 561
VFW_E_NOT_ALLOWED_TO_SAVE この状態での更新は許されない。 0x80040232 562
VFW_E_TIME_ALREADY_PASSED 過去のタイムのコマンドをキューに入れようとした。 0x80040233 563
VFW_E_ALREADY_CANCELLED キューに入れられたコマンドは既にキャンセルされていた。 0x80040234 564
VFW_E_CORRUPT_GRAPH_FILE ファイルが壊れているのでレンダリングできない。 0x80040235 565
VFW_E_ADVISE_ALREADY_SET IOverlay アドバイズ リンクが既に存在している。 0x80040236 566
VFW_S_STATE_INTERMEDIATE 状態の移行が完了していない。 0x00040237 567
VFW_E_NO_MODEX_AVAILABLE フルスクリーン モードは利用できない。 0x80040238 568
VFW_E_NO_ADVISE_SET このアドバイズは正常に設定されていないのでキャンセルできない。 0x80040239 569
VFW_E_NO_FULLSCREEN フルスクリーン モードは利用できない。 0x8004023A 570
VFW_E_IN_FULLSCREEN_MODE フルスクリーン モードでは IVideoWindow メソッドを呼び出せない。 0x8004023B 571
VFW_E_UNKNOWN_FILE_TYPE このファイルのメディア タイプが認識されない。 0x80040240 576
VFW_E_CANNOT_LOAD_SOURCE_FILTER このファイルのソース フィルタをロードできない。 0x80040241 577
VFW_S_PARTIAL_RENDER このムービーのいくつかのストリームが、サポートされていないフォーマットを持つ。 0x00040242 578
VFW_E_FILE_TOO_SHORT ファイルが不完全である。 0x80040243 579
VFW_E_INVALID_FILE_VERSION ファイルのバージョン番号が無効である。 0x80040244 580
VFW_S_SOME_DATA_IGNORED ファイルにいくつかの使用されていないプロパティ設定が含まれている。 0x00040245 581
VFW_S_CONNECTIONS_DEFERRED 一部の接続が失敗して遅延された。 0x00040246 582
VFW_E_INVALID_CLSID このファイルは壊れている。無効なクラス識別子が含まれている。 0x80040247 583
VFW_E_INVALID_MEDIA_TYPE このファイルは壊れている。無効なメディア タイプが含まれている。 0x80040248 584
VFW_E_SAMPLE_TIME_NOT_SET このサンプルにはタイム スタンプが設定されていない。 0x80040249 585
VFW_S_RESOURCE_NOT_NEEDED 指定されたリソースはもはや必要ない。 0x00040250 592
VFW_E_MEDIA_TIME_NOT_SET このサンプルにはメディア タイムが設定されていない。 0x80040251 593
VFW_E_NO_TIME_FORMAT_SET メディア タイム フォーマットが選択されていない。 0x80040252 594
VFW_E_MONO_AUDIO_HW オーディオ デバイスがモノラル専用なので、バランスを変更できない。 0x80040253 595
VFW_S_MEDIA_TYPE_IGNORED 持続グラフのメディア タイプに接続できない。 0x00040254 596
VFW_E_NO_DECOMPRESSOR ビデオ ストリームを再生できない。適切なデコンプレッサが見つからなかった。 0x80040255 597
VFW_E_NO_AUDIO_HARDWARE オーディオ ストリームを再生できない。オーディオ ハードウェアが利用できない、またはハードウェアがサポートされていない。 0x80040256 598
VFW_S_VIDEO_NOT_RENDERED ビデオ ストリームを再生できない。適切なレンダラが見つからなかった。 0x00040257 599
VFW_S_AUDIO_NOT_RENDERED オーディオ ストリームを再生できない。適切なレンダラが見つからなかった。 0x00040258 600
VFW_E_RPZA ビデオ ストリームを再生できない。フォーマット 'RPZA' はサポートされていない。 0x80040259 601
VFW_S_RPZA ビデオ ストリームを再生できない。フォーマット 'RPZA' はサポートされていない。 0x0004025A 602
VFW_E_PROCESSOR_NOT_SUITABLE DirectShow はこのプロセッサ上で MPEG ムービーを再生できない。 0x8004025B 603
VFW_E_UNSUPPORTED_AUDIO オーディオ ストリームを再生できない。オーディオ フォーマットはサポートされていない。 0x8004025C 604
VFW_E_UNSUPPORTED_VIDEO ビデオ ストリームを再生できない。ビデオ フォーマットはサポートされていない。 0x8004025D 605
VFW_E_MPEG_NOT_CONSTRAINED このビデオ ストリームは規格に準拠していないので DirectShow で再生できない。 0x8004025E 606
VFW_E_NOT_IN_GRAPH フィルタ グラフに存在しないオブジェクトに要求された関数を実行できない。 0x8004025F 607
VFW_S_ESTIMATED 返された値は予測値である。値の正確さを保証できない。 0x00040260 608
VFW_E_NO_TIME_FORMAT オブジェクトのタイム フォーマットにアクセスできない。 0x80040261 609
VFW_E_READ_ONLY ストリームが読み出し専用で、フィルタによってデータが変更されているので、接続を確立できない。 0x80040262 610
VFW_S_RESERVED この成功コードは、DirectShow の内部処理用に予約されている。 0x00040263 611
VFW_E_BUFFER_UNDERFLOW バッファが十分に満たされていない。 0x80040264 612
VFW_E_UNSUPPORTED_STREAM ファイルを再生できない。フォーマットがサポートされていない。 0x80040265 613
VFW_E_NO_TRANSPORT 同じ転送をサポートしていないのでピン同士を接続できない。 0x80040266 614
VFW_S_STREAM_OFF ストリームがオフになった。 0x00040267 615
VFW_S_CANT_CUE グラフ フィルタはアクティブであるが、データを出力できない。「IMediaFilter::GetState」を参照すること。 0x00040268 616
VFW_E_BAD_VIDEOCD デバイスがビデオ CD を正常に読み出せない、またはビデオ CD のデータが壊れている。 0x80040269 617
VFW_S_NO_STOP_TIME サンプルに終了タイムではなく開始タイムが設定されていた。この場合、返される終了タイムは開始タイムに 1 を加えた値に設定される。 0x80040270 624
VFW_E_OUT_OF_VIDEO_MEMORY このディスプレイ解像度と色数に対してビデオ メモリが不十分である。解像度を低くすると良い。 0x80040271 625
VFW_E_VP_NEGOTIATION_FAILED ビデオ ポート接続ネゴシエーション プロセスが失敗した。 0x80040272 626
VFW_E_DDRAW_CAPS_NOT_SUITABLE Microsoft® DirectDraw® がインストールされていない、またはビデオ カードの能力が適切でない。ディスプレイが 16 色モードでないことを確認すること。 0x80040273 627
VFW_E_NO_VP_HARDWARE ビデオ ポート ハードウェアが利用できない、またはハードウェアが応答しない。 0x80040274 628
VFW_E_NO_CAPTURE_HARDWARE キャプチャ ハードウェアが利用できない、またはハードウェアが応答しない。 0x80040275 629
VFW_E_DVD_OPERATION_INHIBITED この時点でこのユーザー操作は DVD コンテンツによって禁止されている。 0x80040276 630
VFW_E_DVD_INVALIDDOMAIN 現在のドメインでこの処理は許可されていない。 0x80040277 631
VFW_E_DVD_NO_BUTTON 要求されたボタンが利用できない。 0x80040278 632
VFW_E_DVD_GRAPHNOTREADY DVD-Video 再生グラフが構築されていない。 0x80040279 633
VFW_E_DVD_RENDERFAIL DVD-Video 再生グラフの構築が失敗した。 0x8004027A 634
VFW_E_DVD_DECNOTENOUGH デコーダが不十分だったために、DVD-Video 再生グラフが構築できなかった。 0x8004027B 635
VFW_E_DVD_NOT_IN_KARAOKE_MODE DVD ナビゲータはカラオケ モードではない。 0x8004028B 651
VFW_E_FRAME_STEP_UNSUPPORTED コマ送りがサポートされていない。 0x8004028E 654
VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD ピンは既に呼び出し側スレッドでブロックされている。 0x80040293 659
VFW_E_PIN_ALREADY_BLOCKED ピンは既にほかのスレッドでブロックされている。 0x80040294 660
VFW_E_CERTIFICATION_FAILURE このフィルタの使用はソフトウェア キーによって制限されている。アプリケーションは、フィルタをロック解除しなければならない。 0x80040295 661
CTL_E_CANTSAVEFILETOTEMP ファイルは TEMP ディレクトリに保存できない。 0x800A02DF 735
CTL_E_SEARCHTEXTNOTFOUND 検索対象のテキストが見つからない。 0x800A02E8 744
CTL_E_REPLACEMENTSTOOLONG テキストの置換が長すぎる。 0x800A02EA 746
VFW_E_BAD_KEY レジストリ エントリが壊れている。 0x800403F2 1010

DirectShow Editing Services に固有の HRESULT 値

上記の値に加え、DirectShow Editing Services では以下の HRESULT 値が定義されている。

戻りコード説明16 進値10 進値 (LOWORD)
S_WARN_OUTPUTRESET グラフのレンダリング部分が削除された。アプリケーションはこれを再構築しなければならない。 0x000404041028
E_NOTINTREE オブジェクトがタイムラインに含まれていない。 0x800404001024
E_RENDER_ENGINE_IS_BROKEN プロジェクトが正常にレンダリングされなかったので、処理が失敗した。 0x800404011025
E_MUST_INIT_RENDERER レンダリング エンジンが起動されていない。 0x800404021026
E_NOTDETERMINED 要求された値を判定できない。 0x800404031027
E_NO_TIMELINE タイムライン オブジェクトがない。 0x800404041028