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

ISpPhraseBuilder

COM
IID88a3342a-0bed-4834-922b-88d43173162f継承元ISpPhrase自前メソッド開始 vtbl7

メソッド 6

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

vtbl 7 HRESULT InitFromPhrase(SPPHRASE* pPhrase)
pPhraseSPPHRASE*in初期化元となるSPPHRASE構造体へのポインタ。NULLで空フレーズを生成する。
vtbl 8 HRESULT InitFromSerializedPhrase(SPSERIALIZEDPHRASE* pPhrase)
pPhraseSPSERIALIZEDPHRASE*in初期化元となるシリアライズ済みフレーズSPSERIALIZEDPHRASEへのポインタ。
vtbl 9 HRESULT AddElements(DWORD cElements, SPPHRASEELEMENT* pElement)
cElementsDWORDin追加するフレーズ要素の個数。
pElementSPPHRASEELEMENT*in追加するSPPHRASEELEMENT配列へのポインタ。要素数はcElementsと一致させる。
vtbl 10 HRESULT AddRules(SPPHRASERULEHANDLE hParent, SPPHRASERULE* pRule, SPPHRASERULEHANDLE* phNewRule)
hParentSPPHRASERULEHANDLEin追加先となる親ルールのハンドルSPPHRASERULEHANDLE。最上位ならNULL相当。
pRuleSPPHRASERULE*in追加するルール情報SPPHRASERULEへのポインタ。
phNewRuleSPPHRASERULEHANDLE*out新規追加されたルールのハンドルを受け取る出力先。
vtbl 11 HRESULT AddProperties(SPPHRASEPROPERTYHANDLE hParent, SPPHRASEPROPERTY* pProperty, SPPHRASEPROPERTYHANDLE* phNewProperty)
hParentSPPHRASEPROPERTYHANDLEin追加先となる親プロパティのハンドルSPPHRASEPROPERTYHANDLE。最上位ならNULL相当。
pPropertySPPHRASEPROPERTY*in追加するプロパティ情報SPPHRASEPROPERTYへのポインタ。
phNewPropertySPPHRASEPROPERTYHANDLE*out新規追加されたプロパティのハンドルを受け取る出力先。
vtbl 12 HRESULT AddReplacements(DWORD cReplacements, SPPHRASEREPLACEMENT* pReplacements)
cReplacementsDWORDin追加するテキスト置換の個数。
pReplacementsSPPHRASEREPLACEMENT*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 指定が可能。