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

ISpPhoneticAlphabetConverter

COM
IID133adcd4-19b4-4020-9fdc-842e78253b17継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

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

vtbl 3 HRESULT GetLangId(WORD* pLangID)
pLangIDWORD*out現在設定されている言語IDを受け取るポインタ。
vtbl 4 HRESULT SetLangId(WORD LangID)
LangIDWORDin変換に使用する言語ID。
vtbl 5 HRESULT SAPI2UPS(WORD* pszSAPIId, WORD* pszUPSId, DWORD cMaxLength)
pszSAPIIdWORD*in変換元のSAPI音素IDのNULL終端配列。
pszUPSIdWORD*out変換後のUPS音素IDを受け取るバッファ。
cMaxLengthDWORDin出力バッファの最大要素数。
vtbl 6 HRESULT UPS2SAPI(WORD* pszUPSId, WORD* pszSAPIId, DWORD cMaxLength)
pszUPSIdWORD*in変換元のUPS音素IDのNULL終端配列。
pszSAPIIdWORD*out変換後のSAPI音素IDを受け取るバッファ。
cMaxLengthDWORDin出力バッファの最大要素数。
vtbl 7 HRESULT GetMaxConvertLength(DWORD cSrcLength, BOOL bSAPI2UPS, DWORD* pcMaxDestLength)
cSrcLengthDWORDin変換元音素列の要素数。
bSAPI2UPSBOOLin変換方向。TRUEでSAPIからUPSへ変換する場合の長さを算出する。
pcMaxDestLengthDWORD*out変換後に必要となる最大要素数を受け取るポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_ISpPhoneticAlphabetConverter "{133ADCD4-19B4-4020-9FDC-842E78253B17}"
#usecom global ISpPhoneticAlphabetConverter IID_ISpPhoneticAlphabetConverter "{4F414126-DFE3-4629-99EE-797978317EAD}"
#comfunc global ISpPhoneticAlphabetConverter_GetLangId            3 var
#comfunc global ISpPhoneticAlphabetConverter_SetLangId            4 int
#comfunc global ISpPhoneticAlphabetConverter_SAPI2UPS             5 var,var,int
#comfunc global ISpPhoneticAlphabetConverter_UPS2SAPI             6 var,var,int
#comfunc global ISpPhoneticAlphabetConverter_GetMaxConvertLength  7 int,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。