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

ISpeechDataKey

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDce17c09b-4efa-44d5-a4c9-59d9585ab0cd継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 12

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT SetBinaryValue(LPWSTR ValueName, VARIANT Value)
ValueNameLPWSTRin設定する値の名前。
ValueVARIANTin格納するバイナリデータを保持するVARIANT(SAFEARRAY形式)。
vtbl 8 HRESULT GetBinaryValue(LPWSTR ValueName, VARIANT* Value)
ValueNameLPWSTRin取得する値の名前。
ValueVARIANT*out読み出したバイナリデータを受け取るVARIANTポインタ。
vtbl 9 HRESULT SetStringValue(LPWSTR ValueName, LPWSTR Value)
ValueNameLPWSTRin設定する値の名前。
ValueLPWSTRin格納する文字列値。
vtbl 10 HRESULT GetStringValue(LPWSTR ValueName, LPWSTR* Value)
ValueNameLPWSTRin取得する値の名前。
ValueLPWSTR*out読み出した文字列値を受け取るポインタ。
vtbl 11 HRESULT SetLongValue(LPWSTR ValueName, INT Value)
ValueNameLPWSTRin設定する値の名前。
ValueINTin格納する整数値(DWORD相当)。
vtbl 12 HRESULT GetLongValue(LPWSTR ValueName, INT* Value)
ValueNameLPWSTRin取得する値の名前。
ValueINT*out読み出した整数値を受け取るポインタ。
vtbl 13 HRESULT OpenKey(LPWSTR SubKeyName, ISpeechDataKey** SubKey)
SubKeyNameLPWSTRin開くサブキーの名前。
SubKeyISpeechDataKey**out開いたサブキーのISpeechDataKeyを受け取るポインタ。
vtbl 14 HRESULT CreateKey(LPWSTR SubKeyName, ISpeechDataKey** SubKey)
SubKeyNameLPWSTRin作成するサブキーの名前。既存なら開く。
SubKeyISpeechDataKey**out作成したサブキーのISpeechDataKeyを受け取るポインタ。
vtbl 15 HRESULT DeleteKey(LPWSTR SubKeyName)
SubKeyNameLPWSTRin削除するサブキーの名前。
vtbl 16 HRESULT DeleteValue(LPWSTR ValueName)
ValueNameLPWSTRin削除する値の名前。
vtbl 17 HRESULT EnumKeys(INT Index, LPWSTR* SubKeyName)
IndexINTin列挙するサブキーの0起点インデックス。
SubKeyNameLPWSTR*outそのインデックスのサブキー名を受け取るポインタ。
vtbl 18 HRESULT EnumValues(INT Index, LPWSTR* ValueName)
IndexINTin列挙する値の0起点インデックス。
ValueNameLPWSTR*outそのインデックスの値名を受け取るポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_ISpeechDataKey "{CE17C09B-4EFA-44D5-A4C9-59D9585AB0CD}"
#usecom global ISpeechDataKey IID_ISpeechDataKey "{}"
#comfunc global ISpeechDataKey_SetBinaryValue  7 wstr,int
#comfunc global ISpeechDataKey_GetBinaryValue  8 wstr,var
#comfunc global ISpeechDataKey_SetStringValue  9 wstr,wstr
#comfunc global ISpeechDataKey_GetStringValue  10 wstr,var
#comfunc global ISpeechDataKey_SetLongValue    11 wstr,int
#comfunc global ISpeechDataKey_GetLongValue    12 wstr,var
#comfunc global ISpeechDataKey_OpenKey         13 wstr,sptr
#comfunc global ISpeechDataKey_CreateKey       14 wstr,sptr
#comfunc global ISpeechDataKey_DeleteKey       15 wstr
#comfunc global ISpeechDataKey_DeleteValue     16 wstr
#comfunc global ISpeechDataKey_EnumKeys        17 int,var
#comfunc global ISpeechDataKey_EnumValues      18 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。