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

ISpRecoContext

COM
IIDf740a62f-7c15-489e-8234-940a33d9272d継承元ISpEventSource自前メソッド開始 vtbl13

メソッド 18

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

vtbl 13 HRESULT GetRecognizer(ISpRecognizer** ppRecognizer)
ppRecognizerISpRecognizer**outこのコンテキストが属する認識エンジンISpRecognizerを受け取るポインタ。
vtbl 14 HRESULT CreateGrammar(ULONGLONG ullGrammarId, ISpRecoGrammar** ppGrammar)
ullGrammarIdULONGLONGin作成する文法に割り当てる任意のID。
ppGrammarISpRecoGrammar**out作成した文法ISpRecoGrammarを受け取るポインタ。
vtbl 15 HRESULT GetStatus(SPRECOCONTEXTSTATUS* pStatus)
pStatusSPRECOCONTEXTSTATUS*inoutコンテキストの現在状態を受け取るSPRECOCONTEXTSTATUS構造体へのポインタ。
vtbl 16 HRESULT GetMaxAlternates(DWORD* pcAlternates)
pcAlternatesDWORD*inout現在の最大代替候補数を受け取るポインタ。
vtbl 17 HRESULT SetMaxAlternates(DWORD cAlternates)
cAlternatesDWORDin認識時に生成する代替候補の最大数。
vtbl 18 HRESULT SetAudioOptions(SPAUDIOOPTIONS Options, GUID* pAudioFormatId, WAVEFORMATEX* pWaveFormatEx)
OptionsSPAUDIOOPTIONSin音声保持などのオプションを示すSPAUDIOOPTIONSビットマスク。
pAudioFormatIdGUID*in保持音声のフォーマットを識別するGUID。NULL可。
pWaveFormatExWAVEFORMATEX*in保持音声の波形フォーマット詳細を示すWAVEFORMATEX。NULL可。
vtbl 19 HRESULT GetAudioOptions(SPAUDIOOPTIONS* pOptions, GUID* pAudioFormatId, WAVEFORMATEX** ppCoMemWFEX)
pOptionsSPAUDIOOPTIONS*inout現在の音声オプションを受け取るSPAUDIOOPTIONSポインタ。
pAudioFormatIdGUID*inout現在の保持音声フォーマットGUIDを受け取るポインタ。NULL可。
ppCoMemWFEXWAVEFORMATEX**inout現在の波形フォーマット詳細を受け取るWAVEFORMATEXポインタ。CoTaskMemFreeで解放する。
vtbl 20 HRESULT DeserializeResult(SPSERIALIZEDRESULT* pSerializedResult, ISpRecoResult** ppResult)
pSerializedResultSPSERIALIZEDRESULT*inデシリアライズ元のSPSERIALIZEDRESULTへのポインタ。
ppResultISpRecoResult**out復元した認識結果ISpRecoResultを受け取るポインタ。
vtbl 21 HRESULT Bookmark(SPBOOKMARKOPTIONS Options, ULONGLONG ullStreamPosition, LPARAM lparamEvent)
OptionsSPBOOKMARKOPTIONSinブックマーク動作を指定するSPBOOKMARKOPTIONS列挙値。
ullStreamPositionULONGLONGinブックマークを設定するストリーム位置(バイト)。SP_STREAMPOS_REALTIME等の特殊値も可。
lparamEventLPARAMinブックマークイベント発生時に通知されるLPARAM値。
vtbl 22 HRESULT SetAdaptationData(LPWSTR pAdaptationData, DWORD cch)
pAdaptationDataLPWSTRin認識精度向上に用いる適応テキストデータ。
cchDWORDinpAdaptationDataの文字数。
vtbl 23 HRESULT Pause(DWORD dwReserved)
dwReservedDWORDin予約済み引数。0を指定する。
vtbl 24 HRESULT Resume(DWORD dwReserved)
dwReservedDWORDin予約済み引数。0を指定する。
vtbl 25 HRESULT SetVoice(ISpVoice* pVoice, BOOL fAllowFormatChanges)
pVoiceISpVoice*inこのコンテキストに関連付けるISpVoice。NULLで既定音声を使用する。
fAllowFormatChangesBOOLin音声出力フォーマットの自動変更を許可するか。
vtbl 26 HRESULT GetVoice(ISpVoice** ppVoice)
ppVoiceISpVoice**out現在関連付けられているISpVoiceを受け取るポインタ。
vtbl 27 HRESULT SetVoicePurgeEvent(ULONGLONG ullEventInterest)
ullEventInterestULONGLONGin音声出力キューをパージする契機となるイベントのビットマスク。
vtbl 28 HRESULT GetVoicePurgeEvent(ULONGLONG* pullEventInterest)
pullEventInterestULONGLONG*inout現在のパージ契機イベントのビットマスクを受け取るポインタ。
vtbl 29 HRESULT SetContextState(SPCONTEXTSTATE eContextState)
eContextStateSPCONTEXTSTATEinコンテキストの状態を示すSPCONTEXTSTATE列挙値。有効/無効を指定する。
vtbl 30 HRESULT GetContextState(SPCONTEXTSTATE* peContextState)
peContextStateSPCONTEXTSTATE*inout現在のコンテキスト状態を受け取るSPCONTEXTSTATEポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_ISpRecoContext "{F740A62F-7C15-489E-8234-940A33D9272D}"
#usecom global ISpRecoContext IID_ISpRecoContext "{}"
#comfunc global ISpRecoContext_GetRecognizer       13 sptr
#comfunc global ISpRecoContext_CreateGrammar       14 int64,sptr
#comfunc global ISpRecoContext_GetStatus           15 var
#comfunc global ISpRecoContext_GetMaxAlternates    16 var
#comfunc global ISpRecoContext_SetMaxAlternates    17 int
#comfunc global ISpRecoContext_SetAudioOptions     18 int,var,var
#comfunc global ISpRecoContext_GetAudioOptions     19 var,var,var
#comfunc global ISpRecoContext_DeserializeResult   20 var,sptr
#comfunc global ISpRecoContext_Bookmark            21 int,int64,sptr
#comfunc global ISpRecoContext_SetAdaptationData   22 wstr,int
#comfunc global ISpRecoContext_Pause               23 int
#comfunc global ISpRecoContext_Resume              24 int
#comfunc global ISpRecoContext_SetVoice            25 sptr,int
#comfunc global ISpRecoContext_GetVoice            26 sptr
#comfunc global ISpRecoContext_SetVoicePurgeEvent  27 int64
#comfunc global ISpRecoContext_GetVoicePurgeEvent  28 var
#comfunc global ISpRecoContext_SetContextState     29 int
#comfunc global ISpRecoContext_GetContextState     30 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。