ホーム › Media.Speech › ISpGrammarCompiler
ISpGrammarCompiler
COMメソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT CompileStream(IStream* pSource, IStream* pDest, IStream* pHeader, IUnknown* pReserved, ISpErrorLog* pErrorLog, DWORD dwFlags)
| pSource | IStream* | in | コンパイル元の文法ソースを供給する入力ストリームIStream。 |
| pDest | IStream* | in | コンパイル結果(バイナリ文法)を書き出す出力ストリームIStream。 |
| pHeader | IStream* | inoptional | 生成されるヘッダ情報を書き出すストリームIStream。NULL可。 |
| pReserved | IUnknown* | inoptional | 予約引数。NULLを指定する。 |
| pErrorLog | ISpErrorLog* | inoptional | コンパイル中のエラーを記録するISpErrorLog。NULL可。 |
| dwFlags | DWORD | in | コンパイル動作を制御するフラグ。通常0を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ISpGrammarCompiler "{B1E29D58-A675-11D2-8302-00C04F8EE6C0}"
#usecom global ISpGrammarCompiler IID_ISpGrammarCompiler "{B1E29D59-A675-11D2-8302-00C04F8EE6C0}"
#comfunc global ISpGrammarCompiler_CompileStream 3 sptr,sptr,sptr,sptr,sptr,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。