ホーム › Media.Speech › ISpObjectTokenCategory
ISpObjectTokenCategory
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pszCategoryId | LPWSTR | in | 対象とするカテゴリのID文字列。SPCAT_VOICES等のレジストリパス形式で指定する。 |
| fCreateIfNotExist | BOOL | in | カテゴリが存在しない場合に作成するか。 |
| ppszCoMemCategoryId | LPWSTR* | out | 現在のカテゴリIDを受け取るポインタ。CoTaskMemFreeで解放する。 |
vtbl 17 HRESULT GetDataKey(SPDATAKEYLOCATION spdkl, ISpDataKey** ppDataKey)
| spdkl | SPDATAKEYLOCATION | in | 取得するデータキーの場所を示すSPDATAKEYLOCATION列挙値。 |
| ppDataKey | ISpDataKey** | out | カテゴリのデータキーを受け取るISpDataKeyポインタ。 |
vtbl 18 HRESULT EnumTokens(LPWSTR pzsReqAttribs, LPWSTR pszOptAttribs, IEnumSpObjectTokens** ppEnum)
| pzsReqAttribs | LPWSTR | inoptional | 必須属性を示すセミコロン区切りの文字列。NULLで全件対象とする。 |
| pszOptAttribs | LPWSTR | inoptional | 優先順位付けに用いる任意属性文字列。NULL可。 |
| ppEnum | IEnumSpObjectTokens** | out | 条件に一致するトークンの列挙子IEnumSpObjectTokensを受け取るポインタ。 |
| pszTokenId | LPWSTR | in | このカテゴリの既定トークンに設定するトークンID。 |
| ppszCoMemTokenId | LPWSTR* | 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 指定が可能。#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 sptr #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 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。