Win32 API 日本語リファレンス
ホームGraphics.Imaging › IWICComponentInfo

IWICComponentInfo

COM
IID23bc3f0a-698b-4357-886b-f24d50671334継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

コンポーネント情報を提供するメソッドを公開します。

メソッド 8

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetComponentType(WICComponentType* pType)

コンポーネントの WICComponentType を取得します。

pTypeWICComponentType*outWICComponentType を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 4 HRESULT GetCLSID(GUID* pclsid)

コンポーネントのクラス識別子 (CLSID) を取得します。

pclsidGUID*outコンポーネントの CLSID を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 5 HRESULT GetSigningStatus(DWORD* pStatus)

コンポーネントの署名状態を取得します。

pStatusDWORD*outコンポーネントの WICComponentSigning 状態を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

署名は WIC では使用されません。したがって、すべてのコンポーネントは WICComponentSigned となります。

この関数は、コンポーネントにバイナリコンポーネントが存在しないか、またはレジストリの無効化コンポーネント一覧に追加されているかどうかを判定するために使用できます。

vtbl 6 HRESULT GetAuthor(DWORD cchAuthor, LPWSTR wzAuthor, DWORD* pcchActual)

コンポーネントの作成者名を取得します。

cchAuthorDWORDinwzAuthor バッファーのサイズ。
wzAuthorLPWSTRinoutコンポーネントの作成者名を受け取るポインター。 文字列のロケールは、コーデックがインストール時にレジストリに書き込んだ値によって異なります。組み込みコンポーネントの場合、これらの文字列は常に英語です。
pcchActualDWORD*outコンポーネントの作成者名の実際の長さを受け取るポインター。作成者名は省略可能です。コンポーネントによって作成者名が指定されていない場合、返される長さは 0 です。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

cchAuthor が 0 で wzAuthorNULL の場合、必要なバッファーサイズが pccchActual に返されます。

vtbl 7 HRESULT GetVendorGUID(GUID* pguidVendor)

ベンダー GUID を取得します。

pguidVendorGUID*outコンポーネントのベンダー GUID を受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT GetVersion(DWORD cchVersion, LPWSTR wzVersion, DWORD* pcchActual)

コンポーネントのバージョンを取得します。

cchVersionDWORDinwzVersion バッファーのサイズ。
wzVersionLPWSTRinoutコンポーネントのバージョンを表すカルチャに依存しない文字列を受け取るポインター。
pcchActualDWORD*outコンポーネントのバージョンの実際の長さを受け取るポインター。バージョンは省略可能です。コンポーネントによって値が指定されていない場合、返される長さは 0 です。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

すべての組み込みコンポーネントは "1.0.0.0" を返します。ただし、ピクセルフォーマットはバージョンを持たないため例外です。

cchAuthor が 0 で wzAuthorNULL の場合、必要なバッファーサイズが pccchActual に返されます。

vtbl 9 HRESULT GetSpecVersion(DWORD cchSpecVersion, LPWSTR wzSpecVersion, DWORD* pcchActual)

コンポーネントの仕様バージョンを取得します。

cchSpecVersionDWORDinwzSpecVersion バッファーのサイズ。
wzSpecVersionLPWSTRinoutこのメソッドが返るとき、コンポーネントの仕様バージョンを表すカルチャに依存しない文字列を格納します。バージョンの形式は NN.NN.NN.NN です。
pcchActualDWORD*outコンポーネントの仕様バージョンの実際の長さを受け取るポインター。仕様バージョンは省略可能です。コンポーネントによって値が指定されていない場合、返される長さは 0 です。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

すべての組み込みコンポーネントは "1.0.0.0" を返します。ただし、ピクセルフォーマットは仕様バージョンを持たないため例外です。

cchAuthor が 0 で wzAuthorNULL の場合、必要なバッファーサイズが pccchActual に返されます。

vtbl 10 HRESULT GetFriendlyName(DWORD cchFriendlyName, LPWSTR wzFriendlyName, DWORD* pcchActual)

コンポーネントのフレンドリ名を取得します。これはコンポーネントの人間が読める表示名です。

cchFriendlyNameDWORDinwzFriendlyName バッファーのサイズ。
wzFriendlyNameLPWSTRinoutコンポーネントのフレンドリ名を受け取るポインター。 文字列のロケールは、コーデックがインストール時にレジストリに書き込んだ値によって異なります。組み込みコンポーネントの場合、これらの文字列は常に英語です。
pcchActualDWORD*outコンポーネントのフレンドリ名の実際の長さを受け取るポインター。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

cchFriendlyName が 0 で wzFriendlyNameNULL の場合、必要なバッファーサイズが pccchActual に返されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWICComponentInfo "{23BC3F0A-698B-4357-886B-F24D50671334}"
#usecom global IWICComponentInfo IID_IWICComponentInfo "{}"
#comfunc global IWICComponentInfo_GetComponentType  3 var
#comfunc global IWICComponentInfo_GetCLSID          4 var
#comfunc global IWICComponentInfo_GetSigningStatus  5 var
#comfunc global IWICComponentInfo_GetAuthor         6 int,var,var
#comfunc global IWICComponentInfo_GetVendorGUID     7 var
#comfunc global IWICComponentInfo_GetVersion        8 int,var,var
#comfunc global IWICComponentInfo_GetSpecVersion    9 int,var,var
#comfunc global IWICComponentInfo_GetFriendlyName   10 int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。