ホーム › Media.Speech › ISpPhraseBuilder
ISpPhraseBuilder
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pPhrase | SPPHRASE* | in | 初期化元となるSPPHRASE構造体へのポインタ。NULLで空フレーズを生成する。 |
vtbl 8 HRESULT InitFromSerializedPhrase(SPSERIALIZEDPHRASE* pPhrase)
| pPhrase | SPSERIALIZEDPHRASE* | in | 初期化元となるシリアライズ済みフレーズSPSERIALIZEDPHRASEへのポインタ。 |
vtbl 9 HRESULT AddElements(DWORD cElements, SPPHRASEELEMENT* pElement)
| cElements | DWORD | in | 追加するフレーズ要素の個数。 |
| pElement | SPPHRASEELEMENT* | in | 追加するSPPHRASEELEMENT配列へのポインタ。要素数はcElementsと一致させる。 |
vtbl 10 HRESULT AddRules(SPPHRASERULEHANDLE hParent, SPPHRASERULE* pRule, SPPHRASERULEHANDLE* phNewRule)
| hParent | SPPHRASERULEHANDLE | in | 追加先となる親ルールのハンドルSPPHRASERULEHANDLE。最上位ならNULL相当。 |
| pRule | SPPHRASERULE* | in | 追加するルール情報SPPHRASERULEへのポインタ。 |
| phNewRule | SPPHRASERULEHANDLE* | out | 新規追加されたルールのハンドルを受け取る出力先。 |
vtbl 11 HRESULT AddProperties(SPPHRASEPROPERTYHANDLE hParent, SPPHRASEPROPERTY* pProperty, SPPHRASEPROPERTYHANDLE* phNewProperty)
| hParent | SPPHRASEPROPERTYHANDLE | in | 追加先となる親プロパティのハンドルSPPHRASEPROPERTYHANDLE。最上位ならNULL相当。 |
| pProperty | SPPHRASEPROPERTY* | in | 追加するプロパティ情報SPPHRASEPROPERTYへのポインタ。 |
| phNewProperty | SPPHRASEPROPERTYHANDLE* | out | 新規追加されたプロパティのハンドルを受け取る出力先。 |
vtbl 12 HRESULT AddReplacements(DWORD cReplacements, SPPHRASEREPLACEMENT* pReplacements)
| cReplacements | DWORD | in | 追加するテキスト置換の個数。 |
| pReplacements | SPPHRASEREPLACEMENT* | in | 追加するSPPHRASEREPLACEMENT配列へのポインタ。要素数はcReplacementsと一致させる。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISpPhraseBuilder "{88A3342A-0BED-4834-922B-88D43173162F}" #usecom global ISpPhraseBuilder IID_ISpPhraseBuilder "{777B6BBD-2FF2-11D3-88FE-00C04F8EF9B5}" #comfunc global ISpPhraseBuilder_InitFromPhrase 7 var #comfunc global ISpPhraseBuilder_InitFromSerializedPhrase 8 var #comfunc global ISpPhraseBuilder_AddElements 9 int,var #comfunc global ISpPhraseBuilder_AddRules 10 sptr,var,sptr #comfunc global ISpPhraseBuilder_AddProperties 11 sptr,var,sptr #comfunc global ISpPhraseBuilder_AddReplacements 12 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISpPhraseBuilder "{88A3342A-0BED-4834-922B-88D43173162F}" #usecom global ISpPhraseBuilder IID_ISpPhraseBuilder "{777B6BBD-2FF2-11D3-88FE-00C04F8EF9B5}" #comfunc global ISpPhraseBuilder_InitFromPhrase 7 sptr #comfunc global ISpPhraseBuilder_InitFromSerializedPhrase 8 sptr #comfunc global ISpPhraseBuilder_AddElements 9 int,sptr #comfunc global ISpPhraseBuilder_AddRules 10 sptr,sptr,sptr #comfunc global ISpPhraseBuilder_AddProperties 11 sptr,sptr,sptr #comfunc global ISpPhraseBuilder_AddReplacements 12 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。