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

ITfCategoryMgr

COM
IIDc3acefb5-f69d-4905-938f-fcadcf4be830継承元IUnknown自前メソッド開始 vtbl3

メソッド 14

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

vtbl 3 HRESULT RegisterCategory(GUID* rclsid, GUID* rcatid, GUID* rguid)
rclsidGUID*inカテゴリを登録するテキストサービスのクラス識別子 (CLSID) へのポインタである。
rcatidGUID*in登録先のカテゴリを識別する GUID へのポインタである。
rguidGUID*inカテゴリに登録する項目を識別する GUID へのポインタである。
vtbl 4 HRESULT UnregisterCategory(GUID* rclsid, GUID* rcatid, GUID* rguid)
rclsidGUID*inカテゴリの登録を解除するテキストサービスのクラス識別子 (CLSID) へのポインタである。
rcatidGUID*in登録解除元のカテゴリを識別する GUID へのポインタである。
rguidGUID*inカテゴリから削除する項目を識別する GUID へのポインタである。
vtbl 5 HRESULT EnumCategoriesInItem(GUID* rguid, IEnumGUID** ppEnum)
rguidGUID*in所属カテゴリを列挙する項目を識別する GUID へのポインタである。
ppEnumIEnumGUID**out指定項目が属するカテゴリの GUID を列挙する IEnumGUID インターフェイスへのポインタを受け取る。
vtbl 6 HRESULT EnumItemsInCategory(GUID* rcatid, IEnumGUID** ppEnum)
rcatidGUID*in項目を列挙するカテゴリを識別する GUID へのポインタである。
ppEnumIEnumGUID**out指定カテゴリに属する項目の GUID を列挙する IEnumGUID インターフェイスへのポインタを受け取る。
vtbl 7 HRESULT FindClosestCategory(GUID* rguid, GUID* pcatid, GUID** ppcatidList, DWORD ulCount)
rguidGUID*in検索の起点となる項目を識別する GUID へのポインタである。
pcatidGUID*out最も近い一致カテゴリを識別する GUID を受け取る。
ppcatidListGUID**in検索対象とするカテゴリ GUID の配列へのポインタである。NULL を指定すると全カテゴリが対象となる。
ulCountDWORDinppcatidList 配列内のカテゴリ GUID の数を指定する。
vtbl 8 HRESULT RegisterGUIDDescription(GUID* rclsid, GUID* rguid, LPWSTR pchDesc, DWORD cch)
rclsidGUID*in説明を登録するテキストサービスのクラス識別子 (CLSID) へのポインタである。
rguidGUID*in説明を関連付ける GUID へのポインタである。
pchDescLPWSTRin登録する説明文字列へのポインタである。
cchDWORDin説明文字列の文字数を指定する。
vtbl 9 HRESULT UnregisterGUIDDescription(GUID* rclsid, GUID* rguid)
rclsidGUID*in説明の登録を解除するテキストサービスのクラス識別子 (CLSID) へのポインタである。
rguidGUID*in説明の登録を解除する GUID へのポインタである。
vtbl 10 HRESULT GetGUIDDescription(GUID* rguid, LPWSTR* pbstrDesc)
rguidGUID*in説明を取得する GUID へのポインタである。
pbstrDescLPWSTR*outGUID に関連付けられた説明文字列を受け取る。呼び出し側が SysFreeString で解放する必要がある。
vtbl 11 HRESULT RegisterGUIDDWORD(GUID* rclsid, GUID* rguid, DWORD dw)
rclsidGUID*in値を登録するテキストサービスのクラス識別子 (CLSID) へのポインタである。
rguidGUID*in値を関連付ける GUID へのポインタである。
dwDWORDinGUID に関連付ける DWORD 値を指定する。
vtbl 12 HRESULT UnregisterGUIDDWORD(GUID* rclsid, GUID* rguid)
rclsidGUID*in値の登録を解除するテキストサービスのクラス識別子 (CLSID) へのポインタである。
rguidGUID*in値の登録を解除する GUID へのポインタである。
vtbl 13 HRESULT GetGUIDDWORD(GUID* rguid, DWORD* pdw)
rguidGUID*in値を取得する GUID へのポインタである。
pdwDWORD*outGUID に関連付けられた DWORD 値を受け取る。
vtbl 14 HRESULT RegisterGUID(GUID* rguid, DWORD* pguidatom)
rguidGUID*inGUID アトムに変換して登録する GUID へのポインタである。
pguidatomDWORD*out登録された GUID に対応する GUID アトム (TfGuidAtom) を受け取る。
vtbl 15 HRESULT GetGUID(DWORD guidatom, GUID* pguid)
guidatomDWORDin対応する GUID を取得する GUID アトム (TfGuidAtom) を指定する。
pguidGUID*outGUID アトムに対応する GUID を受け取る。
vtbl 16 HRESULT IsEqualTfGuidAtom(DWORD guidatom, GUID* rguid, BOOL* pfEqual)
guidatomDWORDin比較する GUID アトム (TfGuidAtom) を指定する。
rguidGUID*in比較対象の GUID へのポインタである。
pfEqualBOOL*outGUID アトムと GUID が一致する場合に TRUE を受け取る。

HSP用 COM定義

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

出力引数:
#define global IID_ITfCategoryMgr "{C3ACEFB5-F69D-4905-938F-FCADCF4BE830}"
#usecom global ITfCategoryMgr IID_ITfCategoryMgr "{}"
#comfunc global ITfCategoryMgr_RegisterCategory           3 var,var,var
#comfunc global ITfCategoryMgr_UnregisterCategory         4 var,var,var
#comfunc global ITfCategoryMgr_EnumCategoriesInItem       5 var,sptr
#comfunc global ITfCategoryMgr_EnumItemsInCategory        6 var,sptr
#comfunc global ITfCategoryMgr_FindClosestCategory        7 var,var,var,int
#comfunc global ITfCategoryMgr_RegisterGUIDDescription    8 var,var,wstr,int
#comfunc global ITfCategoryMgr_UnregisterGUIDDescription  9 var,var
#comfunc global ITfCategoryMgr_GetGUIDDescription         10 var,var
#comfunc global ITfCategoryMgr_RegisterGUIDDWORD          11 var,var,int
#comfunc global ITfCategoryMgr_UnregisterGUIDDWORD        12 var,var
#comfunc global ITfCategoryMgr_GetGUIDDWORD               13 var,var
#comfunc global ITfCategoryMgr_RegisterGUID               14 var,var
#comfunc global ITfCategoryMgr_GetGUID                    15 int,var
#comfunc global ITfCategoryMgr_IsEqualTfGuidAtom          16 int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。