ホーム › Media.Speech › ISpRecoGrammar2
ISpRecoGrammar2
COMメソッド 8
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| ppCoMemRules | SPRULE** | inout | 文法内のルール情報配列を受け取るSPRULEポインタ。CoTaskMemFreeで解放する。 |
| puNumRules | DWORD* | inout | 取得したルール数を受け取るポインタ。 |
vtbl 4 HRESULT LoadCmdFromFile2(LPWSTR pszFileName, SPLOADOPTIONS Options, LPWSTR pszSharingUri, LPWSTR pszBaseUri)
| pszFileName | LPWSTR | in | 読み込む文法ファイルのパスまたはURL。 |
| Options | SPLOADOPTIONS | in | 読み込み方法を指定するSPLOADOPTIONS列挙値。 |
| pszSharingUri | LPWSTR | inoptional | 文法共有を識別するURI。NULL可。 |
| pszBaseUri | LPWSTR | inoptional | 相対参照解決に用いる基底URI。NULL可。 |
vtbl 5 HRESULT LoadCmdFromMemory2(SPBINARYGRAMMAR* pGrammar, SPLOADOPTIONS Options, LPWSTR pszSharingUri, LPWSTR pszBaseUri)
| pGrammar | SPBINARYGRAMMAR* | in | メモリ上のバイナリ文法を示すSPBINARYGRAMMARへのポインタ。 |
| Options | SPLOADOPTIONS | in | 読み込み方法を指定するSPLOADOPTIONS列挙値。 |
| pszSharingUri | LPWSTR | inoptional | 文法共有を識別するURI。NULL可。 |
| pszBaseUri | LPWSTR | inoptional | 相対参照解決に用いる基底URI。NULL可。 |
| pszRuleName | LPWSTR | in | 優先度を設定するルール名。NULL可だがIDとの併用が必要。 |
| ulRuleId | DWORD | in | 優先度を設定するルールのID。 |
| nRulePriority | INT | in | 設定するルールの優先度。値が高いほど優先される。 |
| pszRuleName | LPWSTR | in | 重みを設定するルール名。NULL可だがIDとの併用が必要。 |
| ulRuleId | DWORD | in | 重みを設定するルールのID。 |
| flWeight | FLOAT | in | 設定するルールの重み。認識スコアに影響する。 |
| flWeight | FLOAT | in | ディクテーション部分の重み。認識スコアに影響する。 |
vtbl 9 HRESULT SetGrammarLoader(ISpeechResourceLoader* pLoader)
| pLoader | ISpeechResourceLoader* | in | 文法リソース読み込みに用いるISpeechResourceLoaderへのポインタ。 |
vtbl 10 HRESULT SetSMLSecurityManager(IInternetSecurityManager* pSMLSecurityManager)
| pSMLSecurityManager | IInternetSecurityManager* | in | SML処理時のセキュリティを制御するIInternetSecurityManagerへのポインタ。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISpRecoGrammar2 "{4B37BC9E-9ED6-44A3-93D3-18F022B79EC3}" #usecom global ISpRecoGrammar2 IID_ISpRecoGrammar2 "{}" #comfunc global ISpRecoGrammar2_GetRules 3 var,var #comfunc global ISpRecoGrammar2_LoadCmdFromFile2 4 wstr,int,wstr,wstr #comfunc global ISpRecoGrammar2_LoadCmdFromMemory2 5 var,int,wstr,wstr #comfunc global ISpRecoGrammar2_SetRulePriority 6 wstr,int,int #comfunc global ISpRecoGrammar2_SetRuleWeight 7 wstr,int,float #comfunc global ISpRecoGrammar2_SetDictationWeight 8 float #comfunc global ISpRecoGrammar2_SetGrammarLoader 9 sptr #comfunc global ISpRecoGrammar2_SetSMLSecurityManager 10 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISpRecoGrammar2 "{4B37BC9E-9ED6-44A3-93D3-18F022B79EC3}" #usecom global ISpRecoGrammar2 IID_ISpRecoGrammar2 "{}" #comfunc global ISpRecoGrammar2_GetRules 3 sptr,sptr #comfunc global ISpRecoGrammar2_LoadCmdFromFile2 4 wstr,int,wstr,wstr #comfunc global ISpRecoGrammar2_LoadCmdFromMemory2 5 sptr,int,wstr,wstr #comfunc global ISpRecoGrammar2_SetRulePriority 6 wstr,int,int #comfunc global ISpRecoGrammar2_SetRuleWeight 7 wstr,int,float #comfunc global ISpRecoGrammar2_SetDictationWeight 8 float #comfunc global ISpRecoGrammar2_SetGrammarLoader 9 sptr #comfunc global ISpRecoGrammar2_SetSMLSecurityManager 10 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。