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

ISpSREngine

COM
IID2f472991-854b-4465-b613-fbafb3ad8ed8継承元IUnknown自前メソッド開始 vtbl3

メソッド 29

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

vtbl 3 HRESULT SetSite(ISpSREngineSite* pSite)
pSiteISpSREngineSite*inエンジンが利用するサイトオブジェクトISpSREngineSite。NULLで解除する。
vtbl 4 HRESULT GetInputAudioFormat(GUID* pguidSourceFormatId, WAVEFORMATEX* pSourceWaveFormatEx, GUID* pguidDesiredFormatId, WAVEFORMATEX** ppCoMemDesiredWaveFormatEx)
pguidSourceFormatIdGUID*in入力ソースの形式を識別するGUIDへのポインタ。NULL可。
pSourceWaveFormatExWAVEFORMATEX*in入力ソースの波形フォーマットWAVEFORMATEXへのポインタ。NULL可。
pguidDesiredFormatIdGUID*outエンジンが希望する入力形式GUIDを受け取る出力先。
ppCoMemDesiredWaveFormatExWAVEFORMATEX**outエンジンが希望する波形フォーマットを受け取る出力先。CoTaskMemAllocで確保される。
vtbl 5 HRESULT RecognizeStream(GUID* rguidFmtId, WAVEFORMATEX* pWaveFormatEx, HANDLE hRequestSync, HANDLE hDataAvailable, HANDLE hExit, BOOL fNewAudioStream, BOOL fRealTimeAudio, ISpObjectToken* pAudioObjectToken)
rguidFmtIdGUID*in認識対象オーディオの形式を識別するGUIDへのポインタ。
pWaveFormatExWAVEFORMATEX*in認識対象オーディオの波形フォーマットWAVEFORMATEXへのポインタ。
hRequestSyncHANDLEin同期要求を通知するイベントハンドル。
hDataAvailableHANDLEinデータ到着を通知するイベントハンドル。
hExitHANDLEin認識ループ終了を要求するイベントハンドル。
fNewAudioStreamBOOLin新しいオーディオストリームの開始か否かを示すBOOL。
fRealTimeAudioBOOLinリアルタイムオーディオか否かを示すBOOL。
pAudioObjectTokenISpObjectToken*in入力オーディオデバイスを表すオブジェクトトークンISpObjectToken。
vtbl 6 HRESULT SetRecoProfile(ISpObjectToken* pProfile)
pProfileISpObjectToken*in適用する認識プロファイルを表すオブジェクトトークンISpObjectToken。
vtbl 7 HRESULT OnCreateGrammar(void* pvEngineRecoContext, SPGRAMMARHANDLE hSAPIGrammar, void** ppvEngineGrammarContext)
pvEngineRecoContextvoid*in文法が属するエンジン側認識コンテキストへのポインタ。
hSAPIGrammarSPGRAMMARHANDLEinSAPIが割り当てた文法ハンドルSPGRAMMARHANDLE。
ppvEngineGrammarContextvoid**outエンジン側で生成した文法コンテキストを受け取る出力先(void**)。
vtbl 8 HRESULT OnDeleteGrammar(void* pvEngineGrammar)
pvEngineGrammarvoid*in削除対象のエンジン側文法コンテキストへのポインタ。
vtbl 9 HRESULT LoadProprietaryGrammar(void* pvEngineGrammar, GUID* rguidParam, LPWSTR pszStringParam, void* pvDataParam, DWORD ulDataSize, SPLOADOPTIONS Options)
pvEngineGrammarvoid*in対象のエンジン側文法コンテキストへのポインタ。
rguidParamGUID*in独自文法形式を識別するGUIDへのポインタ。
pszStringParamLPWSTRin文法読み込み用の文字列パラメータ。NULL可。
pvDataParamvoid*in文法読み込み用のバイナリデータへのポインタ。NULL可。
ulDataSizeDWORDinpvDataParamが指すデータのバイト数。
OptionsSPLOADOPTIONSin読み込み動作を制御するSPLOADOPTIONS列挙値。
vtbl 10 HRESULT UnloadProprietaryGrammar(void* pvEngineGrammar)
pvEngineGrammarvoid*inアンロード対象のエンジン側文法コンテキストへのポインタ。
vtbl 11 HRESULT SetProprietaryRuleState(void* pvEngineGrammar, LPWSTR pszName, void* pReserved, SPRULESTATE NewState, DWORD* pcRulesChanged)
pvEngineGrammarvoid*in対象のエンジン側文法コンテキストへのポインタ。
pszNameLPWSTRin状態を変更する対象ルールの名前文字列。NULLで全ルールを対象とする。
pReservedvoid*in予約引数。NULLを指定する。
NewStateSPRULESTATEinルールに設定する新しい状態SPRULESTATE(有効/無効等)。
pcRulesChangedDWORD*out状態が変化したルール数を受け取る出力先。
vtbl 12 HRESULT SetProprietaryRuleIdState(void* pvEngineGrammar, DWORD dwRuleId, SPRULESTATE NewState)
pvEngineGrammarvoid*in対象のエンジン側文法コンテキストへのポインタ。
dwRuleIdDWORDin状態を変更する対象ルールのID。
NewStateSPRULESTATEinルールに設定する新しい状態SPRULESTATE。
vtbl 13 HRESULT LoadSLM(void* pvEngineGrammar, LPWSTR pszTopicName)
pvEngineGrammarvoid*in対象のエンジン側文法コンテキストへのポインタ。
pszTopicNameLPWSTRin読み込む統計言語モデル(SLM)のトピック名文字列。
vtbl 14 HRESULT UnloadSLM(void* pvEngineGrammar)
pvEngineGrammarvoid*inSLMをアンロードする対象のエンジン側文法コンテキストへのポインタ。
vtbl 15 HRESULT SetSLMState(void* pvEngineGrammar, SPRULESTATE NewState)
pvEngineGrammarvoid*in対象のエンジン側文法コンテキストへのポインタ。
NewStateSPRULESTATEinSLMに設定する新しい状態SPRULESTATE(有効/無効等)。
vtbl 16 HRESULT SetWordSequenceData(void* pvEngineGrammar, LPWSTR pText, DWORD cchText, SPTEXTSELECTIONINFO* pInfo)
pvEngineGrammarvoid*in対象のエンジン側文法コンテキストへのポインタ。
pTextLPWSTRin単語列データとして設定するテキスト文字列。
cchTextDWORDinpTextの文字数。
pInfoSPTEXTSELECTIONINFO*in選択範囲などを示すテキスト選択情報SPTEXTSELECTIONINFOへのポインタ。
vtbl 17 HRESULT SetTextSelection(void* pvEngineGrammar, SPTEXTSELECTIONINFO* pInfo)
pvEngineGrammarvoid*in対象のエンジン側文法コンテキストへのポインタ。
pInfoSPTEXTSELECTIONINFO*in設定するテキスト選択情報SPTEXTSELECTIONINFOへのポインタ。
vtbl 18 HRESULT IsPronounceable(void* pvEngineGrammar, LPWSTR pszWord, SPWORDPRONOUNCEABLE* pWordPronounceable)
pvEngineGrammarvoid*in対象のエンジン側文法コンテキストへのポインタ。
pszWordLPWSTRin発音可能性を判定する対象の単語文字列。
pWordPronounceableSPWORDPRONOUNCEABLE*out判定結果を受け取る出力先。SPWORDPRONOUNCEABLE列挙で表す。
vtbl 19 HRESULT OnCreateRecoContext(SPRECOCONTEXTHANDLE hSAPIRecoContext, void** ppvEngineContext)
hSAPIRecoContextSPRECOCONTEXTHANDLEinSAPIが割り当てた認識コンテキストのハンドルSPRECOCONTEXTHANDLE。
ppvEngineContextvoid**outエンジン側で生成したコンテキストを受け取る出力先(void**)。
vtbl 20 HRESULT OnDeleteRecoContext(void* pvEngineContext)
pvEngineContextvoid*in削除対象のエンジン側認識コンテキストへのポインタ。
vtbl 21 HRESULT PrivateCall(void* pvEngineContext, void* pCallFrame, DWORD ulCallFrameSize)
pvEngineContextvoid*in対象のエンジン側認識コンテキストへのポインタ。
pCallFramevoid*inoutアプリとエンジン間でやり取りする独自呼び出しデータへのポインタ。
ulCallFrameSizeDWORDinpCallFrameが指すデータのバイト数。
vtbl 22 HRESULT SetAdaptationData(void* pvEngineContext, LPWSTR pAdaptationData, DWORD cch)
pvEngineContextvoid*in対象のエンジン側認識コンテキストへのポインタ。
pAdaptationDataLPWSTRin認識精度向上に用いる適応テキストデータ。
cchDWORDinpAdaptationDataの文字数。
vtbl 23 HRESULT SetPropertyNum(SPPROPSRC eSrc, void* pvSrcObj, LPWSTR pName, INT lValue)
eSrcSPPROPSRCinプロパティ設定元の種別を示すSPPROPSRC列挙値。
pvSrcObjvoid*in設定元オブジェクトへのポインタ。種別に応じて意味が変わる。
pNameLPWSTRin設定する数値プロパティの名前文字列。
lValueINTin設定する数値プロパティの値。
vtbl 24 HRESULT GetPropertyNum(SPPROPSRC eSrc, void* pvSrcObj, LPWSTR pName, INT* lValue)
eSrcSPPROPSRCinプロパティ取得元の種別を示すSPPROPSRC列挙値。
pvSrcObjvoid*in取得元オブジェクトへのポインタ。種別に応じて意味が変わる。
pNameLPWSTRin取得する数値プロパティの名前文字列。
lValueINT*out取得した数値プロパティの値を受け取る出力先。
vtbl 25 HRESULT SetPropertyString(SPPROPSRC eSrc, void* pvSrcObj, LPWSTR pName, LPWSTR pValue)
eSrcSPPROPSRCinプロパティ設定元の種別を示すSPPROPSRC列挙値。
pvSrcObjvoid*in設定元オブジェクトへのポインタ。種別に応じて意味が変わる。
pNameLPWSTRin設定する文字列プロパティの名前文字列。
pValueLPWSTRin設定する文字列プロパティの値。
vtbl 26 HRESULT GetPropertyString(SPPROPSRC eSrc, void* pvSrcObj, LPWSTR pName, LPWSTR* ppCoMemValue)
eSrcSPPROPSRCinプロパティ取得元の種別を示すSPPROPSRC列挙値。
pvSrcObjvoid*in取得元オブジェクトへのポインタ。種別に応じて意味が変わる。
pNameLPWSTRin取得する文字列プロパティの名前文字列。
ppCoMemValueLPWSTR*out取得した文字列値を受け取る出力先。CoTaskMemAllocで確保される。
vtbl 27 HRESULT SetGrammarState(void* pvEngineGrammar, SPGRAMMARSTATE eGrammarState)
pvEngineGrammarvoid*in対象のエンジン側文法コンテキストへのポインタ。
eGrammarStateSPGRAMMARSTATEin文法に設定する新しい状態SPGRAMMARSTATE(有効/無効等)。
vtbl 28 HRESULT WordNotify(SPCFGNOTIFY Action, DWORD cWords, SPWORDENTRY* pWords)
ActionSPCFGNOTIFYin単語に対する操作種別(追加/削除等)を示すSPCFGNOTIFY列挙値。
cWordsDWORDin通知対象の単語数。
pWordsSPWORDENTRY*in通知対象の単語エントリSPWORDENTRY配列へのポインタ。
vtbl 29 HRESULT RuleNotify(SPCFGNOTIFY Action, DWORD cRules, SPRULEENTRY* pRules)
ActionSPCFGNOTIFYinルールに対する操作種別(追加/削除等)を示すSPCFGNOTIFY列挙値。
cRulesDWORDin通知対象のルール数。
pRulesSPRULEENTRY*in通知対象のルールエントリSPRULEENTRY配列へのポインタ。
vtbl 30 HRESULT PrivateCallEx(void* pvEngineContext, void* pInCallFrame, DWORD ulInCallFrameSize, void** ppvCoMemResponse, DWORD* pulResponseSize)
pvEngineContextvoid*in対象のエンジン側認識コンテキストへのポインタ。
pInCallFramevoid*in送信する独自呼び出し入力データへのポインタ。
ulInCallFrameSizeDWORDinpInCallFrameが指す入力データのバイト数。
ppvCoMemResponsevoid**out応答データを受け取る出力先。CoTaskMemAllocで確保される。
pulResponseSizeDWORD*out応答データのバイト数を受け取る出力先。
vtbl 31 HRESULT SetContextState(void* pvEngineContext, SPCONTEXTSTATE eContextState)
pvEngineContextvoid*in対象のエンジン側認識コンテキストへのポインタ。
eContextStateSPCONTEXTSTATEinコンテキストに設定する新しい状態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 指定が可能。