IThumbnailStreamCache
COM公式ドキュメント
サムネイルストリームを取得または設定します。このインターフェイスは内部使用専用であり、フォトアプリケーションからのみ呼び出すことができます。
メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetThumbnailStream(LPWSTR path, ULONGLONG cacheId, ThumbnailStreamCacheOptions options, DWORD requestedThumbnailSize, SIZE* thumbnailSize, IStream** thumbnailStream)
サムネイルストリームを取得します。このメソッドは内部使用専用であり、フォトアプリケーションからのみ呼び出すことができます。
| path | LPWSTR | in | サムネイルへのパス。 |
| cacheId | ULONGLONG | in | サムネイルの識別子。 |
| options | ThumbnailStreamCacheOptions | in | サムネイルストリームのキャッシュオプション。 |
| requestedThumbnailSize | DWORD | in | 要求されるサムネイルのサイズ。 |
| thumbnailSize | SIZE* | out | 返されるサムネイルの実際のサイズ。 |
| thumbnailStream | IStream** | out | 要求されたサムネイル。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
vtbl 4 HRESULT SetThumbnailStream(LPWSTR path, ULONGLONG cacheId, SIZE thumbnailSize, IStream* thumbnailStream)
サムネイルストリームを設定します。このメソッドは内部使用専用であり、フォトアプリケーションからのみ呼び出すことができます。
| path | LPWSTR | in | サムネイルへのパス。 |
| cacheId | ULONGLONG | in | サムネイルの識別子。 |
| thumbnailSize | SIZE | in | サムネイルのサイズ。 |
| thumbnailStream | IStream* | in | サムネイルストリームへのポインター。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IThumbnailStreamCache "{90E11430-9569-41D8-AE75-6D4D2AE7CCA0}" #usecom global IThumbnailStreamCache IID_IThumbnailStreamCache "{CBE0FED3-4B91-4E90-8354-8A8C84EC6872}" #comfunc global IThumbnailStreamCache_GetThumbnailStream 3 wstr,int64,int,int,var,sptr #comfunc global IThumbnailStreamCache_SetThumbnailStream 4 wstr,int64,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IThumbnailStreamCache "{90E11430-9569-41D8-AE75-6D4D2AE7CCA0}" #usecom global IThumbnailStreamCache IID_IThumbnailStreamCache "{CBE0FED3-4B91-4E90-8354-8A8C84EC6872}" #comfunc global IThumbnailStreamCache_GetThumbnailStream 3 wstr,int64,int,int,sptr,sptr #comfunc global IThumbnailStreamCache_SetThumbnailStream 4 wstr,int64,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。