Win32 API 日本語リファレンス
ホームMedia.Speech › ISpObjectTokenCategory

ISpObjectTokenCategory

COM
IID2d3d3845-39af-4850-bbf9-40b49780011d継承元ISpDataKey自前メソッド開始 vtbl15

メソッド 6

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

vtbl 15 HRESULT SetId(LPWSTR pszCategoryId, BOOL fCreateIfNotExist)
pszCategoryIdLPWSTRin対象とするカテゴリのID文字列。SPCAT_VOICES等のレジストリパス形式で指定する。
fCreateIfNotExistBOOLinカテゴリが存在しない場合に作成するか。
vtbl 16 HRESULT GetId(LPWSTR* ppszCoMemCategoryId)
ppszCoMemCategoryIdLPWSTR*out現在のカテゴリIDを受け取るポインタ。CoTaskMemFreeで解放する。
vtbl 17 HRESULT GetDataKey(SPDATAKEYLOCATION spdkl, ISpDataKey** ppDataKey)
spdklSPDATAKEYLOCATIONin取得するデータキーの場所を示すSPDATAKEYLOCATION列挙値。
ppDataKeyISpDataKey**outカテゴリのデータキーを受け取るISpDataKeyポインタ。
vtbl 18 HRESULT EnumTokens(LPWSTR pzsReqAttribs, LPWSTR pszOptAttribs, IEnumSpObjectTokens** ppEnum)
pzsReqAttribsLPWSTRinoptional必須属性を示すセミコロン区切りの文字列。NULLで全件対象とする。
pszOptAttribsLPWSTRinoptional優先順位付けに用いる任意属性文字列。NULL可。
ppEnumIEnumSpObjectTokens**out条件に一致するトークンの列挙子IEnumSpObjectTokensを受け取るポインタ。
vtbl 19 HRESULT SetDefaultTokenId(LPWSTR pszTokenId)
pszTokenIdLPWSTRinこのカテゴリの既定トークンに設定するトークンID。
vtbl 20 HRESULT GetDefaultTokenId(LPWSTR* ppszCoMemTokenId)
ppszCoMemTokenIdLPWSTR*out既定トークンのIDを受け取るポインタ。CoTaskMemFreeで解放する。

HSP用 COM定義

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

出力引数:
#define global IID_ISpObjectTokenCategory "{2D3D3845-39AF-4850-BBF9-40B49780011D}"
#usecom global ISpObjectTokenCategory IID_ISpObjectTokenCategory "{A910187F-0C7A-45AC-92CC-59EDAFB77B53}"
#comfunc global ISpObjectTokenCategory_SetId              15 wstr,int
#comfunc global ISpObjectTokenCategory_GetId              16 var
#comfunc global ISpObjectTokenCategory_GetDataKey         17 int,sptr
#comfunc global ISpObjectTokenCategory_EnumTokens         18 wstr,wstr,sptr
#comfunc global ISpObjectTokenCategory_SetDefaultTokenId  19 wstr
#comfunc global ISpObjectTokenCategory_GetDefaultTokenId  20 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。