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

ISpSREngineSite

COM
IID3b414aec-720c-4883-b9ef-178cd394fb3a継承元IUnknown自前メソッド開始 vtbl3

メソッド 18

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

vtbl 3 HRESULT Read(void* pv, DWORD cb, DWORD* pcbRead)
pvvoid*in読み取ったオーディオデータを格納するバッファへのポインタ。
cbDWORDin読み取りを要求するバイト数。
pcbReadDWORD*out実際に読み取られたバイト数を受け取る出力先。NULL可。
vtbl 4 HRESULT DataAvailable(DWORD* pcb)
pcbDWORD*out現在読み取り可能なオーディオデータのバイト数を受け取る出力先。
vtbl 5 HRESULT SetBufferNotifySize(DWORD cbSize)
cbSizeDWORDinデータ通知の閾値とするバッファサイズ(バイト数)。
vtbl 6 HRESULT ParseFromTransitions(SPPARSEINFO* pParseInfo, ISpPhraseBuilder** ppNewPhrase)
pParseInfoSPPARSEINFO*in遷移からの解析に用いる情報SPPARSEINFOへのポインタ。
ppNewPhraseISpPhraseBuilder**out解析結果として生成されたフレーズビルダーISpPhraseBuilderを受け取る出力ポインタ。
vtbl 7 HRESULT Recognition(SPRECORESULTINFO* pResultInfo)
pResultInfoSPRECORESULTINFO*in認識結果の詳細情報SPRECORESULTINFOへのポインタ。SAPIに結果を通知する。
vtbl 8 HRESULT AddEvent(SPEVENT* pEvent, SPRECOCONTEXTHANDLE hSAPIRecoContext)
pEventSPEVENT*inSAPIへ送出するイベント情報SPEVENTへのポインタ。
hSAPIRecoContextSPRECOCONTEXTHANDLEinイベントの宛先となる認識コンテキストのハンドルSPRECOCONTEXTHANDLE。
vtbl 9 HRESULT Synchronize(ULONGLONG ullProcessedThruPos)
ullProcessedThruPosULONGLONGin処理が完了したオーディオストリーム上の位置(ストリームオフセット)。
vtbl 10 HRESULT GetWordInfo(SPWORDENTRY* pWordEntry, SPWORDINFOOPT Options)
pWordEntrySPWORDENTRY*inout情報を取得・格納する単語エントリSPWORDENTRYへのポインタ。
OptionsSPWORDINFOOPTin取得方法を指定するSPWORDINFOOPT列挙値。
vtbl 11 HRESULT SetWordClientContext(SPWORDHANDLE hWord, void* pvClientContext)
hWordSPWORDHANDLEin対象単語のハンドルSPWORDHANDLE。
pvClientContextvoid*in単語に関連付けるクライアント定義データへのポインタ。
vtbl 12 HRESULT GetRuleInfo(SPRULEENTRY* pRuleEntry, SPRULEINFOOPT Options)
pRuleEntrySPRULEENTRY*inout情報を取得・格納するルールエントリSPRULEENTRYへのポインタ。
OptionsSPRULEINFOOPTin取得方法を指定するSPRULEINFOOPT列挙値。
vtbl 13 HRESULT SetRuleClientContext(SPRULEHANDLE hRule, void* pvClientContext)
hRuleSPRULEHANDLEin対象ルールのハンドルSPRULEHANDLE。
pvClientContextvoid*inルールに関連付けるクライアント定義データへのポインタ。
vtbl 14 HRESULT GetStateInfo(SPSTATEHANDLE hState, SPSTATEINFO* pStateInfo)
hStateSPSTATEHANDLEin情報を取得する対象状態のハンドルSPSTATEHANDLE。
pStateInfoSPSTATEINFO*out状態情報を受け取るSPSTATEINFOへのポインタ。
vtbl 15 HRESULT GetResource(SPRULEHANDLE hRule, LPWSTR pszResourceName, LPWSTR* ppCoMemResource)
hRuleSPRULEHANDLEinリソースが属するルールのハンドルSPRULEHANDLE。
pszResourceNameLPWSTRin取得するリソースの名前文字列。
ppCoMemResourceLPWSTR*out取得したリソース値文字列を受け取る出力先。CoTaskMemAllocで確保される。
vtbl 16 HRESULT GetTransitionProperty(SPTRANSITIONID ID, SPTRANSITIONPROPERTY** ppCoMemProperty)
IDSPTRANSITIONIDinプロパティを取得する対象遷移のID(SPTRANSITIONID)。
ppCoMemPropertySPTRANSITIONPROPERTY**out遷移プロパティSPTRANSITIONPROPERTYを受け取る出力先。CoTaskMemAllocで確保される。
vtbl 17 HRESULT IsAlternate(SPRULEHANDLE hRule, SPRULEHANDLE hAltRule)
hRuleSPRULEHANDLEin比較元ルールのハンドルSPRULEHANDLE。
hAltRuleSPRULEHANDLEin代替候補かを判定する対象ルールのハンドルSPRULEHANDLE。
vtbl 18 HRESULT GetMaxAlternates(SPRULEHANDLE hRule, DWORD* pulNumAlts)
hRuleSPRULEHANDLEin対象ルールのハンドルSPRULEHANDLE。
pulNumAltsDWORD*outそのルールで要求される代替候補の最大数を受け取る出力先。
vtbl 19 HRESULT GetContextMaxAlternates(SPRECOCONTEXTHANDLE hContext, DWORD* pulNumAlts)
hContextSPRECOCONTEXTHANDLEin対象認識コンテキストのハンドルSPRECOCONTEXTHANDLE。
pulNumAltsDWORD*outそのコンテキストで要求される代替候補の最大数を受け取る出力先。
vtbl 20 HRESULT UpdateRecoPos(ULONGLONG ullCurrentRecoPos)
ullCurrentRecoPosULONGLONGin現在の認識位置を示すオーディオストリーム上のオフセット。

HSP用 COM定義

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

出力引数:
#define global IID_ISpSREngineSite "{3B414AEC-720C-4883-B9EF-178CD394FB3A}"
#usecom global ISpSREngineSite IID_ISpSREngineSite "{}"
#comfunc global ISpSREngineSite_Read                     3 sptr,int,var
#comfunc global ISpSREngineSite_DataAvailable            4 var
#comfunc global ISpSREngineSite_SetBufferNotifySize      5 int
#comfunc global ISpSREngineSite_ParseFromTransitions     6 var,sptr
#comfunc global ISpSREngineSite_Recognition              7 var
#comfunc global ISpSREngineSite_AddEvent                 8 var,sptr
#comfunc global ISpSREngineSite_Synchronize              9 int64
#comfunc global ISpSREngineSite_GetWordInfo              10 var,int
#comfunc global ISpSREngineSite_SetWordClientContext     11 sptr,sptr
#comfunc global ISpSREngineSite_GetRuleInfo              12 var,int
#comfunc global ISpSREngineSite_SetRuleClientContext     13 sptr,sptr
#comfunc global ISpSREngineSite_GetStateInfo             14 sptr,var
#comfunc global ISpSREngineSite_GetResource              15 sptr,wstr,var
#comfunc global ISpSREngineSite_GetTransitionProperty    16 sptr,var
#comfunc global ISpSREngineSite_IsAlternate              17 sptr,sptr
#comfunc global ISpSREngineSite_GetMaxAlternates         18 sptr,var
#comfunc global ISpSREngineSite_GetContextMaxAlternates  19 sptr,var
#comfunc global ISpSREngineSite_UpdateRecoPos            20 int64
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。