ホーム › Media.WindowsMediaFormat › IWMImageInfo
IWMImageInfo
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pcImages | DWORD* | out | コンテンツに埋め込まれた画像の総数を受け取る出力ポインタ。 |
vtbl 4 HRESULT GetImage(DWORD wIndex, WORD* pcchMIMEType, LPWSTR pwszMIMEType, WORD* pcchDescription, LPWSTR pwszDescription, WORD* pImageType, DWORD* pcbImageData, BYTE* pbImageData)
| wIndex | DWORD | in | 取得する画像のゼロ起点インデックス。 |
| pcchMIMEType | WORD* | inout | MIMEタイプ文字列のバッファ長を入出力するポインタ。NULL指定で必要長を取得。 |
| pwszMIMEType | LPWSTR | out | 画像のMIMEタイプ文字列を受け取るバッファ。NULL可。 |
| pcchDescription | WORD* | inout | 説明文字列のバッファ長を入出力するポインタ。NULL指定で必要長を取得。 |
| pwszDescription | LPWSTR | out | 画像の説明文字列を受け取るバッファ。NULL可。 |
| pImageType | WORD* | out | 画像の種別(カバーアートなど)を受け取る出力ポインタ。 |
| pcbImageData | DWORD* | inout | 画像データのバイト数を入出力するポインタ。NULL指定で必要長を取得。 |
| pbImageData | BYTE* | out | 画像のバイナリデータを受け取るバッファ。NULL可。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWMImageInfo "{9F0AA3B6-7267-4D89-88F2-BA915AA5C4C6}" #usecom global IWMImageInfo IID_IWMImageInfo "{}" #comfunc global IWMImageInfo_GetImageCount 3 var #comfunc global IWMImageInfo_GetImage 4 int,var,var,var,var,var,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWMImageInfo "{9F0AA3B6-7267-4D89-88F2-BA915AA5C4C6}" #usecom global IWMImageInfo IID_IWMImageInfo "{}" #comfunc global IWMImageInfo_GetImageCount 3 sptr #comfunc global IWMImageInfo_GetImage 4 int,sptr,sptr,sptr,sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。