ホーム › Media.Speech › ISpSREngine
ISpSREngine
COMメソッド 29
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT SetSite(ISpSREngineSite* pSite)
| pSite | ISpSREngineSite* | in | エンジンが利用するサイトオブジェクトISpSREngineSite。NULLで解除する。 |
vtbl 4 HRESULT GetInputAudioFormat(GUID* pguidSourceFormatId, WAVEFORMATEX* pSourceWaveFormatEx, GUID* pguidDesiredFormatId, WAVEFORMATEX** ppCoMemDesiredWaveFormatEx)
| pguidSourceFormatId | GUID* | in | 入力ソースの形式を識別するGUIDへのポインタ。NULL可。 |
| pSourceWaveFormatEx | WAVEFORMATEX* | in | 入力ソースの波形フォーマットWAVEFORMATEXへのポインタ。NULL可。 |
| pguidDesiredFormatId | GUID* | out | エンジンが希望する入力形式GUIDを受け取る出力先。 |
| ppCoMemDesiredWaveFormatEx | WAVEFORMATEX** | out | エンジンが希望する波形フォーマットを受け取る出力先。CoTaskMemAllocで確保される。 |
vtbl 5 HRESULT RecognizeStream(GUID* rguidFmtId, WAVEFORMATEX* pWaveFormatEx, HANDLE hRequestSync, HANDLE hDataAvailable, HANDLE hExit, BOOL fNewAudioStream, BOOL fRealTimeAudio, ISpObjectToken* pAudioObjectToken)
| rguidFmtId | GUID* | in | 認識対象オーディオの形式を識別するGUIDへのポインタ。 |
| pWaveFormatEx | WAVEFORMATEX* | in | 認識対象オーディオの波形フォーマットWAVEFORMATEXへのポインタ。 |
| hRequestSync | HANDLE | in | 同期要求を通知するイベントハンドル。 |
| hDataAvailable | HANDLE | in | データ到着を通知するイベントハンドル。 |
| hExit | HANDLE | in | 認識ループ終了を要求するイベントハンドル。 |
| fNewAudioStream | BOOL | in | 新しいオーディオストリームの開始か否かを示すBOOL。 |
| fRealTimeAudio | BOOL | in | リアルタイムオーディオか否かを示すBOOL。 |
| pAudioObjectToken | ISpObjectToken* | in | 入力オーディオデバイスを表すオブジェクトトークンISpObjectToken。 |
vtbl 6 HRESULT SetRecoProfile(ISpObjectToken* pProfile)
| pProfile | ISpObjectToken* | in | 適用する認識プロファイルを表すオブジェクトトークンISpObjectToken。 |
vtbl 7 HRESULT OnCreateGrammar(void* pvEngineRecoContext, SPGRAMMARHANDLE hSAPIGrammar, void** ppvEngineGrammarContext)
| pvEngineRecoContext | void* | in | 文法が属するエンジン側認識コンテキストへのポインタ。 |
| hSAPIGrammar | SPGRAMMARHANDLE | in | SAPIが割り当てた文法ハンドルSPGRAMMARHANDLE。 |
| ppvEngineGrammarContext | void** | out | エンジン側で生成した文法コンテキストを受け取る出力先(void**)。 |
vtbl 8 HRESULT OnDeleteGrammar(void* pvEngineGrammar)
| pvEngineGrammar | void* | in | 削除対象のエンジン側文法コンテキストへのポインタ。 |
vtbl 9 HRESULT LoadProprietaryGrammar(void* pvEngineGrammar, GUID* rguidParam, LPWSTR pszStringParam, void* pvDataParam, DWORD ulDataSize, SPLOADOPTIONS Options)
| pvEngineGrammar | void* | in | 対象のエンジン側文法コンテキストへのポインタ。 |
| rguidParam | GUID* | in | 独自文法形式を識別するGUIDへのポインタ。 |
| pszStringParam | LPWSTR | in | 文法読み込み用の文字列パラメータ。NULL可。 |
| pvDataParam | void* | in | 文法読み込み用のバイナリデータへのポインタ。NULL可。 |
| ulDataSize | DWORD | in | pvDataParamが指すデータのバイト数。 |
| Options | SPLOADOPTIONS | in | 読み込み動作を制御するSPLOADOPTIONS列挙値。 |
vtbl 10 HRESULT UnloadProprietaryGrammar(void* pvEngineGrammar)
| pvEngineGrammar | void* | in | アンロード対象のエンジン側文法コンテキストへのポインタ。 |
vtbl 11 HRESULT SetProprietaryRuleState(void* pvEngineGrammar, LPWSTR pszName, void* pReserved, SPRULESTATE NewState, DWORD* pcRulesChanged)
| pvEngineGrammar | void* | in | 対象のエンジン側文法コンテキストへのポインタ。 |
| pszName | LPWSTR | in | 状態を変更する対象ルールの名前文字列。NULLで全ルールを対象とする。 |
| pReserved | void* | in | 予約引数。NULLを指定する。 |
| NewState | SPRULESTATE | in | ルールに設定する新しい状態SPRULESTATE(有効/無効等)。 |
| pcRulesChanged | DWORD* | out | 状態が変化したルール数を受け取る出力先。 |
vtbl 12 HRESULT SetProprietaryRuleIdState(void* pvEngineGrammar, DWORD dwRuleId, SPRULESTATE NewState)
| pvEngineGrammar | void* | in | 対象のエンジン側文法コンテキストへのポインタ。 |
| dwRuleId | DWORD | in | 状態を変更する対象ルールのID。 |
| NewState | SPRULESTATE | in | ルールに設定する新しい状態SPRULESTATE。 |
| pvEngineGrammar | void* | in | 対象のエンジン側文法コンテキストへのポインタ。 |
| pszTopicName | LPWSTR | in | 読み込む統計言語モデル(SLM)のトピック名文字列。 |
vtbl 14 HRESULT UnloadSLM(void* pvEngineGrammar)
| pvEngineGrammar | void* | in | SLMをアンロードする対象のエンジン側文法コンテキストへのポインタ。 |
vtbl 15 HRESULT SetSLMState(void* pvEngineGrammar, SPRULESTATE NewState)
| pvEngineGrammar | void* | in | 対象のエンジン側文法コンテキストへのポインタ。 |
| NewState | SPRULESTATE | in | SLMに設定する新しい状態SPRULESTATE(有効/無効等)。 |
vtbl 16 HRESULT SetWordSequenceData(void* pvEngineGrammar, LPWSTR pText, DWORD cchText, SPTEXTSELECTIONINFO* pInfo)
| pvEngineGrammar | void* | in | 対象のエンジン側文法コンテキストへのポインタ。 |
| pText | LPWSTR | in | 単語列データとして設定するテキスト文字列。 |
| cchText | DWORD | in | pTextの文字数。 |
| pInfo | SPTEXTSELECTIONINFO* | in | 選択範囲などを示すテキスト選択情報SPTEXTSELECTIONINFOへのポインタ。 |
vtbl 17 HRESULT SetTextSelection(void* pvEngineGrammar, SPTEXTSELECTIONINFO* pInfo)
| pvEngineGrammar | void* | in | 対象のエンジン側文法コンテキストへのポインタ。 |
| pInfo | SPTEXTSELECTIONINFO* | in | 設定するテキスト選択情報SPTEXTSELECTIONINFOへのポインタ。 |
vtbl 18 HRESULT IsPronounceable(void* pvEngineGrammar, LPWSTR pszWord, SPWORDPRONOUNCEABLE* pWordPronounceable)
| pvEngineGrammar | void* | in | 対象のエンジン側文法コンテキストへのポインタ。 |
| pszWord | LPWSTR | in | 発音可能性を判定する対象の単語文字列。 |
| pWordPronounceable | SPWORDPRONOUNCEABLE* | out | 判定結果を受け取る出力先。SPWORDPRONOUNCEABLE列挙で表す。 |
vtbl 19 HRESULT OnCreateRecoContext(SPRECOCONTEXTHANDLE hSAPIRecoContext, void** ppvEngineContext)
| hSAPIRecoContext | SPRECOCONTEXTHANDLE | in | SAPIが割り当てた認識コンテキストのハンドルSPRECOCONTEXTHANDLE。 |
| ppvEngineContext | void** | out | エンジン側で生成したコンテキストを受け取る出力先(void**)。 |
vtbl 20 HRESULT OnDeleteRecoContext(void* pvEngineContext)
| pvEngineContext | void* | in | 削除対象のエンジン側認識コンテキストへのポインタ。 |
| pvEngineContext | void* | in | 対象のエンジン側認識コンテキストへのポインタ。 |
| pCallFrame | void* | inout | アプリとエンジン間でやり取りする独自呼び出しデータへのポインタ。 |
| ulCallFrameSize | DWORD | in | pCallFrameが指すデータのバイト数。 |
| pvEngineContext | void* | in | 対象のエンジン側認識コンテキストへのポインタ。 |
| pAdaptationData | LPWSTR | in | 認識精度向上に用いる適応テキストデータ。 |
| cch | DWORD | in | pAdaptationDataの文字数。 |
| eSrc | SPPROPSRC | in | プロパティ設定元の種別を示すSPPROPSRC列挙値。 |
| pvSrcObj | void* | in | 設定元オブジェクトへのポインタ。種別に応じて意味が変わる。 |
| pName | LPWSTR | in | 設定する数値プロパティの名前文字列。 |
| lValue | INT | in | 設定する数値プロパティの値。 |
| eSrc | SPPROPSRC | in | プロパティ取得元の種別を示すSPPROPSRC列挙値。 |
| pvSrcObj | void* | in | 取得元オブジェクトへのポインタ。種別に応じて意味が変わる。 |
| pName | LPWSTR | in | 取得する数値プロパティの名前文字列。 |
| lValue | INT* | out | 取得した数値プロパティの値を受け取る出力先。 |
| eSrc | SPPROPSRC | in | プロパティ設定元の種別を示すSPPROPSRC列挙値。 |
| pvSrcObj | void* | in | 設定元オブジェクトへのポインタ。種別に応じて意味が変わる。 |
| pName | LPWSTR | in | 設定する文字列プロパティの名前文字列。 |
| pValue | LPWSTR | in | 設定する文字列プロパティの値。 |
vtbl 26 HRESULT GetPropertyString(SPPROPSRC eSrc, void* pvSrcObj, LPWSTR pName, LPWSTR* ppCoMemValue)
| eSrc | SPPROPSRC | in | プロパティ取得元の種別を示すSPPROPSRC列挙値。 |
| pvSrcObj | void* | in | 取得元オブジェクトへのポインタ。種別に応じて意味が変わる。 |
| pName | LPWSTR | in | 取得する文字列プロパティの名前文字列。 |
| ppCoMemValue | LPWSTR* | out | 取得した文字列値を受け取る出力先。CoTaskMemAllocで確保される。 |
vtbl 27 HRESULT SetGrammarState(void* pvEngineGrammar, SPGRAMMARSTATE eGrammarState)
| pvEngineGrammar | void* | in | 対象のエンジン側文法コンテキストへのポインタ。 |
| eGrammarState | SPGRAMMARSTATE | in | 文法に設定する新しい状態SPGRAMMARSTATE(有効/無効等)。 |
vtbl 28 HRESULT WordNotify(SPCFGNOTIFY Action, DWORD cWords, SPWORDENTRY* pWords)
| Action | SPCFGNOTIFY | in | 単語に対する操作種別(追加/削除等)を示すSPCFGNOTIFY列挙値。 |
| cWords | DWORD | in | 通知対象の単語数。 |
| pWords | SPWORDENTRY* | in | 通知対象の単語エントリSPWORDENTRY配列へのポインタ。 |
vtbl 29 HRESULT RuleNotify(SPCFGNOTIFY Action, DWORD cRules, SPRULEENTRY* pRules)
| Action | SPCFGNOTIFY | in | ルールに対する操作種別(追加/削除等)を示すSPCFGNOTIFY列挙値。 |
| cRules | DWORD | in | 通知対象のルール数。 |
| pRules | SPRULEENTRY* | in | 通知対象のルールエントリSPRULEENTRY配列へのポインタ。 |
vtbl 30 HRESULT PrivateCallEx(void* pvEngineContext, void* pInCallFrame, DWORD ulInCallFrameSize, void** ppvCoMemResponse, DWORD* pulResponseSize)
| pvEngineContext | void* | in | 対象のエンジン側認識コンテキストへのポインタ。 |
| pInCallFrame | void* | in | 送信する独自呼び出し入力データへのポインタ。 |
| ulInCallFrameSize | DWORD | in | pInCallFrameが指す入力データのバイト数。 |
| ppvCoMemResponse | void** | out | 応答データを受け取る出力先。CoTaskMemAllocで確保される。 |
| pulResponseSize | DWORD* | out | 応答データのバイト数を受け取る出力先。 |
vtbl 31 HRESULT SetContextState(void* pvEngineContext, SPCONTEXTSTATE eContextState)
| pvEngineContext | void* | in | 対象のエンジン側認識コンテキストへのポインタ。 |
| eContextState | SPCONTEXTSTATE | in | コンテキストに設定する新しい状態SPCONTEXTSTATE(有効/無効等)。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISpSREngine "{2F472991-854B-4465-B613-FBAFB3AD8ED8}" #usecom global ISpSREngine IID_ISpSREngine "{}" #comfunc global ISpSREngine_SetSite 3 sptr #comfunc global ISpSREngine_GetInputAudioFormat 4 var,var,var,var #comfunc global ISpSREngine_RecognizeStream 5 var,var,sptr,sptr,sptr,int,int,sptr #comfunc global ISpSREngine_SetRecoProfile 6 sptr #comfunc global ISpSREngine_OnCreateGrammar 7 sptr,sptr,sptr #comfunc global ISpSREngine_OnDeleteGrammar 8 sptr #comfunc global ISpSREngine_LoadProprietaryGrammar 9 sptr,var,wstr,sptr,int,int #comfunc global ISpSREngine_UnloadProprietaryGrammar 10 sptr #comfunc global ISpSREngine_SetProprietaryRuleState 11 sptr,wstr,sptr,int,var #comfunc global ISpSREngine_SetProprietaryRuleIdState 12 sptr,int,int #comfunc global ISpSREngine_LoadSLM 13 sptr,wstr #comfunc global ISpSREngine_UnloadSLM 14 sptr #comfunc global ISpSREngine_SetSLMState 15 sptr,int #comfunc global ISpSREngine_SetWordSequenceData 16 sptr,wstr,int,var #comfunc global ISpSREngine_SetTextSelection 17 sptr,var #comfunc global ISpSREngine_IsPronounceable 18 sptr,wstr,var #comfunc global ISpSREngine_OnCreateRecoContext 19 sptr,sptr #comfunc global ISpSREngine_OnDeleteRecoContext 20 sptr #comfunc global ISpSREngine_PrivateCall 21 sptr,sptr,int #comfunc global ISpSREngine_SetAdaptationData 22 sptr,wstr,int #comfunc global ISpSREngine_SetPropertyNum 23 int,sptr,wstr,int #comfunc global ISpSREngine_GetPropertyNum 24 int,sptr,wstr,var #comfunc global ISpSREngine_SetPropertyString 25 int,sptr,wstr,wstr #comfunc global ISpSREngine_GetPropertyString 26 int,sptr,wstr,var #comfunc global ISpSREngine_SetGrammarState 27 sptr,int #comfunc global ISpSREngine_WordNotify 28 int,int,var #comfunc global ISpSREngine_RuleNotify 29 int,int,var #comfunc global ISpSREngine_PrivateCallEx 30 sptr,sptr,int,sptr,var #comfunc global ISpSREngine_SetContextState 31 sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISpSREngine "{2F472991-854B-4465-B613-FBAFB3AD8ED8}" #usecom global ISpSREngine IID_ISpSREngine "{}" #comfunc global ISpSREngine_SetSite 3 sptr #comfunc global ISpSREngine_GetInputAudioFormat 4 sptr,sptr,sptr,sptr #comfunc global ISpSREngine_RecognizeStream 5 sptr,sptr,sptr,sptr,sptr,int,int,sptr #comfunc global ISpSREngine_SetRecoProfile 6 sptr #comfunc global ISpSREngine_OnCreateGrammar 7 sptr,sptr,sptr #comfunc global ISpSREngine_OnDeleteGrammar 8 sptr #comfunc global ISpSREngine_LoadProprietaryGrammar 9 sptr,sptr,wstr,sptr,int,int #comfunc global ISpSREngine_UnloadProprietaryGrammar 10 sptr #comfunc global ISpSREngine_SetProprietaryRuleState 11 sptr,wstr,sptr,int,sptr #comfunc global ISpSREngine_SetProprietaryRuleIdState 12 sptr,int,int #comfunc global ISpSREngine_LoadSLM 13 sptr,wstr #comfunc global ISpSREngine_UnloadSLM 14 sptr #comfunc global ISpSREngine_SetSLMState 15 sptr,int #comfunc global ISpSREngine_SetWordSequenceData 16 sptr,wstr,int,sptr #comfunc global ISpSREngine_SetTextSelection 17 sptr,sptr #comfunc global ISpSREngine_IsPronounceable 18 sptr,wstr,sptr #comfunc global ISpSREngine_OnCreateRecoContext 19 sptr,sptr #comfunc global ISpSREngine_OnDeleteRecoContext 20 sptr #comfunc global ISpSREngine_PrivateCall 21 sptr,sptr,int #comfunc global ISpSREngine_SetAdaptationData 22 sptr,wstr,int #comfunc global ISpSREngine_SetPropertyNum 23 int,sptr,wstr,int #comfunc global ISpSREngine_GetPropertyNum 24 int,sptr,wstr,sptr #comfunc global ISpSREngine_SetPropertyString 25 int,sptr,wstr,wstr #comfunc global ISpSREngine_GetPropertyString 26 int,sptr,wstr,sptr #comfunc global ISpSREngine_SetGrammarState 27 sptr,int #comfunc global ISpSREngine_WordNotify 28 int,int,sptr #comfunc global ISpSREngine_RuleNotify 29 int,int,sptr #comfunc global ISpSREngine_PrivateCallEx 30 sptr,sptr,int,sptr,sptr #comfunc global ISpSREngine_SetContextState 31 sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。