Win32 API 日本語リファレンス
ホームUI.TextServices › ITfPersistentPropertyLoaderACP

ITfPersistentPropertyLoaderACP

COM
IID4ef89150-0807-11d3-8df0-00105a2799b5継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ITfPersistentPropertyLoaderACP インターフェイスはアプリケーションが実装し、TSF マネージャーがプロパティを非同期に読み込むために使用します。

メソッド 1

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

vtbl 3 HRESULT LoadProperty(TF_PERSISTENT_PROPERTY_HEADER_ACP* pHdr, IStream** ppStream)

ITfPersistentPropertyLoaderACP::LoadProperty メソッド

pHdrTF_PERSISTENT_PROPERTY_HEADER_ACP*in読み込むプロパティを識別する TF_PERSISTENT_PROPERTY_HEADER_ACP 構造体へのポインター。この構造体には、ITextStoreACPServices::Unserialize に渡された構造体と同じデータが格納されます。
ppStreamIStream**outストリーム オブジェクトを受け取る IStream インターフェイス ポインターへのポインター。

戻り値

このメソッドは次の値のいずれかを返します。

説明
S_OK
メソッドは成功しました。
E_INVALIDARG
1 つ以上のパラメーターが無効です。
E_OUTOFMEMORY
メモリの割り当てに失敗しました。

解説(Remarks)

ストリームに書き込まれるのはプロパティ データのみです。ヘッダー データはストリームに書き込まれません。

ストリームに書き込む前に、ストリームの元の位置を取得してください。このメソッドから復帰する前に、ストリームの位置を元の位置に戻す必要があります。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ITfPersistentPropertyLoaderACP "{4EF89150-0807-11D3-8DF0-00105A2799B5}"
#usecom global ITfPersistentPropertyLoaderACP IID_ITfPersistentPropertyLoaderACP "{}"
#comfunc global ITfPersistentPropertyLoaderACP_LoadProperty  3 var,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。