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

ISpeechPhraseInfo

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID961559cf-4e67-4662-8bf0-d93f1fcd61b3継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 16

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_LanguageId(INT* LanguageId)
LanguageIdINT*outフレーズの言語ID(LCID)を受け取るポインタ。
vtbl 8 HRESULT get_GrammarId(VARIANT* GrammarId)
GrammarIdVARIANT*outこのフレーズを認識した文法の識別子を受け取るVARIANTポインタ。
vtbl 9 HRESULT get_StartTime(VARIANT* StartTime)
StartTimeVARIANT*outフレーズの開始時刻を受け取るVARIANTポインタ。
vtbl 10 HRESULT get_AudioStreamPosition(VARIANT* AudioStreamPosition)
AudioStreamPositionVARIANT*outフレーズに対応する入力ストリーム上の位置を受け取るVARIANTポインタ。
vtbl 11 HRESULT get_AudioSizeBytes(INT* pAudioSizeBytes)
pAudioSizeBytesINT*outフレーズ音声のバイトサイズを受け取るポインタ。
vtbl 12 HRESULT get_RetainedSizeBytes(INT* RetainedSizeBytes)
RetainedSizeBytesINT*out保持された音声のバイトサイズを受け取るポインタ。
vtbl 13 HRESULT get_AudioSizeTime(INT* AudioSizeTime)
AudioSizeTimeINT*outフレーズ音声の長さ(100ナノ秒単位)を受け取るポインタ。
vtbl 14 HRESULT get_Rule(ISpeechPhraseRule** Rule)
RuleISpeechPhraseRule**outこのフレーズに一致した最上位ルール情報(ISpeechPhraseRule)を受け取るポインタ。
vtbl 15 HRESULT get_Properties(ISpeechPhraseProperties** Properties)
PropertiesISpeechPhraseProperties**outフレーズに付随する意味プロパティ集合(ISpeechPhraseProperties)を受け取るポインタ。
vtbl 16 HRESULT get_Elements(ISpeechPhraseElements** Elements)
ElementsISpeechPhraseElements**outフレーズを構成する単語要素集合(ISpeechPhraseElements)を受け取るポインタ。
vtbl 17 HRESULT get_Replacements(ISpeechPhraseReplacements** Replacements)
ReplacementsISpeechPhraseReplacements**out表示用の置換情報集合(ISpeechPhraseReplacements)を受け取るポインタ。
vtbl 18 HRESULT get_EngineId(LPWSTR* EngineIdGuid)
EngineIdGuidLPWSTR*out認識を行ったエンジンを識別するGUID文字列を受け取るポインタ。
vtbl 19 HRESULT get_EnginePrivateData(VARIANT* PrivateData)
PrivateDataVARIANT*outエンジン固有の私的データを受け取るVARIANTポインタ。
vtbl 20 HRESULT SaveToMemory(VARIANT* PhraseBlock)
PhraseBlockVARIANT*outフレーズ情報をシリアライズしたバイトデータを受け取るVARIANTポインタ。
vtbl 21 HRESULT GetText(INT StartElement, INT Elements, VARIANT_BOOL UseReplacements, LPWSTR* Text)
StartElementINTinテキストを取得する範囲の開始要素インデックス。
ElementsINTin取得する範囲の要素数。0で全体。
UseReplacementsVARIANT_BOOLin表示用置換を適用するか。VARIANT_TRUEで適用する。
TextLPWSTR*out取得したテキストを受け取るポインタ。
vtbl 22 HRESULT GetDisplayAttributes(INT StartElement, INT Elements, VARIANT_BOOL UseReplacements, SpeechDisplayAttributes* DisplayAttributes)
StartElementINTin属性を取得する範囲の開始要素インデックス。
ElementsINTin取得する範囲の要素数。0で全体。
UseReplacementsVARIANT_BOOLin表示用置換を考慮するか。VARIANT_TRUEで考慮する。
DisplayAttributesSpeechDisplayAttributes*out前後の空白付与等の表示属性(SpeechDisplayAttributes)を受け取るポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_ISpeechPhraseInfo "{961559CF-4E67-4662-8BF0-D93F1FCD61B3}"
#usecom global ISpeechPhraseInfo IID_ISpeechPhraseInfo "{}"
#comfunc global ISpeechPhraseInfo_get_LanguageId           7 var
#comfunc global ISpeechPhraseInfo_get_GrammarId            8 var
#comfunc global ISpeechPhraseInfo_get_StartTime            9 var
#comfunc global ISpeechPhraseInfo_get_AudioStreamPosition  10 var
#comfunc global ISpeechPhraseInfo_get_AudioSizeBytes       11 var
#comfunc global ISpeechPhraseInfo_get_RetainedSizeBytes    12 var
#comfunc global ISpeechPhraseInfo_get_AudioSizeTime        13 var
#comfunc global ISpeechPhraseInfo_get_Rule                 14 sptr
#comfunc global ISpeechPhraseInfo_get_Properties           15 sptr
#comfunc global ISpeechPhraseInfo_get_Elements             16 sptr
#comfunc global ISpeechPhraseInfo_get_Replacements         17 sptr
#comfunc global ISpeechPhraseInfo_get_EngineId             18 var
#comfunc global ISpeechPhraseInfo_get_EnginePrivateData    19 var
#comfunc global ISpeechPhraseInfo_SaveToMemory             20 var
#comfunc global ISpeechPhraseInfo_GetText                  21 int,int,int,var
#comfunc global ISpeechPhraseInfo_GetDisplayAttributes     22 int,int,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。