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

ISpObjectToken

COM
IID14056589-e16c-11d2-bb90-00c04f8ee6c0継承元ISpDataKey自前メソッド開始 vtbl15

メソッド 10

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

vtbl 15 HRESULT SetId(LPWSTR pszCategoryId, LPWSTR pszTokenId, BOOL fCreateIfNotExist)
pszCategoryIdLPWSTRinoptionalトークンが属するカテゴリのID。NULL可。
pszTokenIdLPWSTRin設定するトークンのID文字列。
fCreateIfNotExistBOOLinトークンが存在しない場合に作成するか。
vtbl 16 HRESULT GetId(LPWSTR* ppszCoMemTokenId)
ppszCoMemTokenIdLPWSTR*outこのトークンのIDを受け取るポインタ。CoTaskMemFreeで解放する。
vtbl 17 HRESULT GetCategory(ISpObjectTokenCategory** ppTokenCategory)
ppTokenCategoryISpObjectTokenCategory**outこのトークンが属するカテゴリのISpObjectTokenCategoryを受け取るポインタ。
vtbl 18 HRESULT CreateInstance(IUnknown* pUnkOuter, DWORD dwClsContext, GUID* riid, void** ppvObject)
pUnkOuterIUnknown*inアグリゲーション用の制御IUnknown。通常はNULLを指定する。
dwClsContextDWORDin実行コンテキストを示すCLSCTX値。CLSCTX_ALL等を指定する。
riidGUID*in要求するインターフェイスのIID。
ppvObjectvoid**inout生成したオブジェクトのインターフェイスポインタを受け取る。
vtbl 19 HRESULT GetStorageFileName(GUID* clsidCaller, LPWSTR pszValueName, LPWSTR pszFileNameSpecifier, DWORD nFolder, LPWSTR* ppszFilePath)
clsidCallerGUID*in呼び出し元コンポーネントを識別するCLSID。
pszValueNameLPWSTRinファイル名が格納されている値の名前。
pszFileNameSpecifierLPWSTRinoptionalファイル名生成に用いる指定子。NULL可。
nFolderDWORDin基準フォルダを示すCSIDL値。
ppszFilePathLPWSTR*out解決された完全ファイルパスを受け取るポインタ。CoTaskMemFreeで解放する。
vtbl 20 HRESULT RemoveStorageFileName(GUID* clsidCaller, LPWSTR pszKeyName, BOOL fDeleteFile)
clsidCallerGUID*in呼び出し元コンポーネントを識別するCLSID。
pszKeyNameLPWSTRin削除対象のファイル名を保持する値名。
fDeleteFileBOOLin実ファイルも削除するか。TRUEで物理削除する。
vtbl 21 HRESULT Remove(GUID* pclsidCaller)
pclsidCallerGUID*inoptional削除を要求する呼び出し元のCLSID。NULLでトークン全体を削除する。
vtbl 22 HRESULT IsUISupported(LPWSTR pszTypeOfUI, void* pvExtraData, DWORD cbExtraData, IUnknown* punkObject, BOOL* pfSupported)
pszTypeOfUILPWSTRinサポート確認するUIの種類を示す文字列。
pvExtraDatavoid*inoutUIに渡す追加データ。NULL可。
cbExtraDataDWORDinpvExtraDataのバイト数。
punkObjectIUnknown*inUI対象オブジェクトのIUnknown。NULL可。
pfSupportedBOOL*inout指定UIがサポートされるかを受け取るBOOLポインタ。
vtbl 23 HRESULT DisplayUI(HWND hwndParent, LPWSTR pszTitle, LPWSTR pszTypeOfUI, void* pvExtraData, DWORD cbExtraData, IUnknown* punkObject)
hwndParentHWNDinUIの親ウィンドウハンドル。
pszTitleLPWSTRinUIウィンドウのタイトル文字列。NULL可。
pszTypeOfUILPWSTRin表示するUIの種類を示す文字列。
pvExtraDatavoid*inoutUIに渡す追加データ。NULL可。
cbExtraDataDWORDinpvExtraDataのバイト数。
punkObjectIUnknown*inUI対象オブジェクトのIUnknown。NULL可。
vtbl 24 HRESULT MatchesAttributes(LPWSTR pszAttributes, BOOL* pfMatches)
pszAttributesLPWSTRin照合する属性条件を示すセミコロン区切り文字列。
pfMatchesBOOL*inout属性が一致したかを受け取るBOOLポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_ISpObjectToken "{14056589-E16C-11D2-BB90-00C04F8EE6C0}"
#usecom global ISpObjectToken IID_ISpObjectToken "{EF411752-3736-4CB4-9C8C-8EF4CCB58EFE}"
#comfunc global ISpObjectToken_SetId                  15 wstr,wstr,int
#comfunc global ISpObjectToken_GetId                  16 var
#comfunc global ISpObjectToken_GetCategory            17 sptr
#comfunc global ISpObjectToken_CreateInstance         18 sptr,int,var,sptr
#comfunc global ISpObjectToken_GetStorageFileName     19 var,wstr,wstr,int,var
#comfunc global ISpObjectToken_RemoveStorageFileName  20 var,wstr,int
#comfunc global ISpObjectToken_Remove                 21 var
#comfunc global ISpObjectToken_IsUISupported          22 wstr,sptr,int,sptr,var
#comfunc global ISpObjectToken_DisplayUI              23 sptr,wstr,wstr,sptr,int,sptr
#comfunc global ISpObjectToken_MatchesAttributes      24 wstr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。