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

ISpRecoGrammar

COM
IID2177db29-7f45-47d0-8554-067e91c80502継承元ISpGrammarBuilder自前メソッド開始 vtbl11

メソッド 18

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

vtbl 11 HRESULT GetGrammarId(ULONGLONG* pullGrammarId)
pullGrammarIdULONGLONG*inoutこの文法のIDを受け取るポインタ。
vtbl 12 HRESULT GetRecoContext(ISpRecoContext** ppRecoCtxt)
ppRecoCtxtISpRecoContext**outこの文法が属する認識コンテキストISpRecoContextを受け取るポインタ。
vtbl 13 HRESULT LoadCmdFromFile(LPWSTR pszFileName, SPLOADOPTIONS Options)
pszFileNameLPWSTRin読み込むコマンド&コントロール文法ファイルのパスまたはURL。
OptionsSPLOADOPTIONSin読み込み方法を指定するSPLOADOPTIONS列挙値。静的/動的を指定する。
vtbl 14 HRESULT LoadCmdFromObject(GUID* rcid, LPWSTR pszGrammarName, SPLOADOPTIONS Options)
rcidGUID*in文法を提供するオブジェクトのCLSID。
pszGrammarNameLPWSTRin読み込む文法の名前。
OptionsSPLOADOPTIONSin読み込み方法を指定するSPLOADOPTIONS列挙値。
vtbl 15 HRESULT LoadCmdFromResource(HMODULE hModule, LPWSTR pszResourceName, LPWSTR pszResourceType, WORD wLanguage, SPLOADOPTIONS Options)
hModuleHMODULEinリソースを含むモジュールのハンドル。NULLで現在のモジュールを使用する。
pszResourceNameLPWSTRinリソース名。MAKEINTRESOURCEでID指定も可能。
pszResourceTypeLPWSTRinリソースの種類を示す文字列。
wLanguageWORDinリソースの言語ID。
OptionsSPLOADOPTIONSin読み込み方法を指定するSPLOADOPTIONS列挙値。
vtbl 16 HRESULT LoadCmdFromMemory(SPBINARYGRAMMAR* pGrammar, SPLOADOPTIONS Options)
pGrammarSPBINARYGRAMMAR*inメモリ上のバイナリ文法を示すSPBINARYGRAMMARへのポインタ。
OptionsSPLOADOPTIONSin読み込み方法を指定するSPLOADOPTIONS列挙値。
vtbl 17 HRESULT LoadCmdFromProprietaryGrammar(GUID* rguidParam, LPWSTR pszStringParam, void* pvDataPrarm, DWORD cbDataSize, SPLOADOPTIONS Options)
rguidParamGUID*in独自文法エンジンを識別するGUID。
pszStringParamLPWSTRin文法に渡す文字列パラメータ。NULL可。
pvDataPrarmvoid*in文法に渡すバイナリデータ。NULL可。
cbDataSizeDWORDinpvDataPrarmのバイト数。
OptionsSPLOADOPTIONSin読み込み方法を指定するSPLOADOPTIONS列挙値。
vtbl 18 HRESULT SetRuleState(LPWSTR pszName, void* pReserved, SPRULESTATE NewState)
pszNameLPWSTRinoptional状態を変更するルールの名前。NULLで全ルールを対象にできる。
pReservedvoid*inout予約済み引数。NULLを指定する。
NewStateSPRULESTATEin設定するルールの状態を示すSPRULESTATE列挙値。アクティブ/非アクティブを指定する。
vtbl 19 HRESULT SetRuleIdState(DWORD ulRuleId, SPRULESTATE NewState)
ulRuleIdDWORDin状態を変更するルールのID。0で全ルールを対象にできる。
NewStateSPRULESTATEin設定するルールの状態を示すSPRULESTATE列挙値。
vtbl 20 HRESULT LoadDictation(LPWSTR pszTopicName, SPLOADOPTIONS Options)
pszTopicNameLPWSTRinoptional読み込むディクテーショントピック名。NULLで既定トピックを使用する。
OptionsSPLOADOPTIONSin読み込み方法を指定するSPLOADOPTIONS列挙値。
vtbl 21 HRESULT UnloadDictation()
vtbl 22 HRESULT SetDictationState(SPRULESTATE NewState)
NewStateSPRULESTATEinディクテーションの状態を示すSPRULESTATE列挙値。アクティブ/非アクティブを指定する。
vtbl 23 HRESULT SetWordSequenceData(LPWSTR pText, DWORD cchText, SPTEXTSELECTIONINFO* pInfo)
pTextLPWSTRinoptional語シーケンス用の文脈テキスト(二重NULL終端)。
cchTextDWORDinpTextの文字数。
pInfoSPTEXTSELECTIONINFO*inテキスト選択範囲を示すSPTEXTSELECTIONINFOへのポインタ。
vtbl 24 HRESULT SetTextSelection(SPTEXTSELECTIONINFO* pInfo)
pInfoSPTEXTSELECTIONINFO*in現在のテキスト選択/挿入位置を示すSPTEXTSELECTIONINFOへのポインタ。
vtbl 25 HRESULT IsPronounceable(LPWSTR pszWord, SPWORDPRONOUNCEABLE* pWordPronounceable)
pszWordLPWSTRin発音可能か判定する語。
pWordPronounceableSPWORDPRONOUNCEABLE*inout判定結果を受け取るSPWORDPRONOUNCEABLE列挙値ポインタ。
vtbl 26 HRESULT SetGrammarState(SPGRAMMARSTATE eGrammarState)
eGrammarStateSPGRAMMARSTATEin文法全体の状態を示すSPGRAMMARSTATE列挙値。有効/無効を指定する。
vtbl 27 HRESULT SaveCmd(IStream* pStream, LPWSTR* ppszCoMemErrorText)
pStreamIStream*in文法を保存する先のIStream。
ppszCoMemErrorTextLPWSTR*outoptional保存時のエラーテキストを受け取るポインタ。NULL可、CoTaskMemFreeで解放する。
vtbl 28 HRESULT GetGrammarState(SPGRAMMARSTATE* peGrammarState)
peGrammarStateSPGRAMMARSTATE*inout現在の文法状態を受け取るSPGRAMMARSTATEポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_ISpRecoGrammar "{2177DB29-7F45-47D0-8554-067E91C80502}"
#usecom global ISpRecoGrammar IID_ISpRecoGrammar "{}"
#comfunc global ISpRecoGrammar_GetGrammarId                   11 var
#comfunc global ISpRecoGrammar_GetRecoContext                 12 sptr
#comfunc global ISpRecoGrammar_LoadCmdFromFile                13 wstr,int
#comfunc global ISpRecoGrammar_LoadCmdFromObject              14 var,wstr,int
#comfunc global ISpRecoGrammar_LoadCmdFromResource            15 sptr,wstr,wstr,int,int
#comfunc global ISpRecoGrammar_LoadCmdFromMemory              16 var,int
#comfunc global ISpRecoGrammar_LoadCmdFromProprietaryGrammar  17 var,wstr,sptr,int,int
#comfunc global ISpRecoGrammar_SetRuleState                   18 wstr,sptr,int
#comfunc global ISpRecoGrammar_SetRuleIdState                 19 int,int
#comfunc global ISpRecoGrammar_LoadDictation                  20 wstr,int
#comfunc global ISpRecoGrammar_UnloadDictation                21
#comfunc global ISpRecoGrammar_SetDictationState              22 int
#comfunc global ISpRecoGrammar_SetWordSequenceData            23 wstr,int,var
#comfunc global ISpRecoGrammar_SetTextSelection               24 var
#comfunc global ISpRecoGrammar_IsPronounceable                25 wstr,var
#comfunc global ISpRecoGrammar_SetGrammarState                26 int
#comfunc global ISpRecoGrammar_SaveCmd                        27 sptr,var
#comfunc global ISpRecoGrammar_GetGrammarState                28 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。