IWMPErrorItem
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IWMPErrorItem インターフェイスは、エラー情報にアクセスする手段を提供します。
メソッド 5
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
get_errorCode メソッドは、現在のエラーコードを取得します。
| phr | INT* | inout | エラーコードを格納する long へのポインター。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。
| 戻り値コード | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
カスタムのエラーメッセージを表示する場合は、VARIANT_BOOL を FALSE に設定し、それを IWMPSettings::put_enableErrorDialogs に渡してください。
get_errorDescription メソッドは、エラーの説明を取得します。
| pbstrDescription | LPWSTR* | inout | 説明を格納する BSTR へのポインター。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。
| 戻り値コード | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
カスタムのエラーメッセージを表示する場合は、VARIANT_BOOL を FALSE に設定し、それを IWMPSettings::put_enableErrorDialogs に渡してください。
get_errorContext メソッドは、エラーのコンテキストを示す値を取得します。
| pvarContext | VARIANT* | inout | エラーコンテキストを格納する VARIANT へのポインター。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。
| 戻り値コード | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
エラーコンテキストは、テクニカルサポート担当者に追加情報を提供するために Microsoft が使用する情報です。
Windows Media Player 10 Mobile: このメソッドは常に、vt フィールドが VT_EMPTY に設定された VARIANT を取得します。
将来の使用のために予約されています。
| plRemedy | INT* | inout | 対処方法を格納する long へのポインター。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。
| 戻り値コード | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
Windows Media Player 10 Mobile: このメソッドは常に、0 に設定された long を取得します。
get_customUrl メソッドは、コーデックのダウンロード失敗に関する具体的な情報を表示する Web サイトの URL を取得します。
| pbstrCustomUrl | LPWSTR* | inout | カスタム URL を格納する BSTR へのポインター。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。
| 戻り値コード | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
Windows Media Player 10 Mobile: このメソッドは常に、空の文字列を格納した BSTR を取得します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWMPErrorItem "{3614C646-3B3B-4DE7-A81E-930E3F2127B3}" #usecom global IWMPErrorItem IID_IWMPErrorItem "{}" #comfunc global IWMPErrorItem_get_errorCode 7 var #comfunc global IWMPErrorItem_get_errorDescription 8 var #comfunc global IWMPErrorItem_get_errorContext 9 var #comfunc global IWMPErrorItem_get_remedy 10 var #comfunc global IWMPErrorItem_get_customUrl 11 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IWMPErrorItem "{3614C646-3B3B-4DE7-A81E-930E3F2127B3}" #usecom global IWMPErrorItem IID_IWMPErrorItem "{}" #comfunc global IWMPErrorItem_get_errorCode 7 sptr #comfunc global IWMPErrorItem_get_errorDescription 8 sptr #comfunc global IWMPErrorItem_get_errorContext 9 sptr #comfunc global IWMPErrorItem_get_remedy 10 sptr #comfunc global IWMPErrorItem_get_customUrl 11 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。