Microsoft DirectX 8.0

IAMErrorLog インターフェイス

Microsoft® DirectShow® 編集サービス (DES) におけるエラー ログのためのコールバック メソッドを提供する。

DES は、このインターフェイスを実装していない。エラー ログをとるためには、アプリケーションでこのインターフェイスを実装し、タイムラインで IAMSetErrorLog::put_ErrorLog を呼び出す。プロジェクトをレンダリングするときにエラーが発生した場合、DES はアプリケーションによって実装された IAMErrorLog::LogError メソッドを呼び出す。

DES がエラー をログに記録するのは、IRenderEngine インターフェイスを使ってプロジェクトをレンダリングするときのみである。たとえば、プロジェクトを DirectShow フィルタ グラフ (.grf フォーマット) として保存し、そのグラフ ファイルを再生する場合には、エラー ログは行われない。

このインターフェイスの使い方の詳細については、「エラーのログ」を参照すること。

要件

Qedit.h が必要である。

vtable 順のメソッド

IUnknown メソッド説明
QueryInterfaceサポートされているインターフェイスへのポインタを取得する。
AddRef参照カウントをインクリメントする。
Release参照カウントをデクリメントする。
IAMErrorLog メソッド説明
LogErrorエラーをログに記録する。

IAMErrorLog::LogError

IAMErrorLog インターフェイス

エラーをログに記録する。アプリケーションでこのメソッドを呼び出す必要はない。このメソッドは、レンダリング エラーへの応答において内部的に呼び出される。

構文

HRESULT LogError(
    LONG Severity,
    BSTR ErrorString,
    LONG ErrorCode,
    HRESULT hresult,
    VARIANT *pExtraInfo
);

パラメータ

Severity
予約済み。使用してはならない。
ErrorString
エラーのテキストを含む文字列値。
ErrorCode
エラー コード。
hresult
エラーを引き起こしたメソッド呼び出しで返された HRESULT 値。
pExtraInfo
[in] エラーに関する追加情報が含まれる VARIANT 型へのポインタ。

戻り値

HRESULT 値を返す。hresult パラメータの値を返す。

注意

このメソッドの中で、pExtraInfo が指す VARIANT を解放してはならない。また、VARIANT はメソッドが復帰した後は無効になるので、後で参照してはならない。

このメソッドの実装では、可能な限り早く復帰するようにする。このメソッドの中で、プログラムの実行を差し止めるような関数呼び出しをしてはならない。たとえば、メッセージの送信、イベントの差し止めなど、実行の妨げとなる Microsoft® Win32® 関数を呼び出してはならない。そうしたことを行うと、コンピュータが応答を停止したり、"ハング" することがある。

DES で定義されているエラーの一覧、および pExtraInfo が指す VARIANT の意味とデータ型については、「レンダリング エラー」を参照すること。