Win32 API 日本語リファレンス
ホームSystem.Search › ISubscriptionItem

ISubscriptionItem

COM
IIDa97559f8-6c4a-11d1-a1e8-00c04fc2fbe1継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

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

vtbl 3 HRESULT GetCookie(GUID* pCookie)
pCookieGUID*outこのサブスクリプションアイテムを識別するGUID(Cookie)を受け取るポインタである。
vtbl 4 HRESULT GetSubscriptionItemInfo(SUBSCRIPTIONITEMINFO* pSubscriptionItemInfo)
pSubscriptionItemInfoSUBSCRIPTIONITEMINFO*outサブスクリプションアイテムの情報を受け取るSUBSCRIPTIONITEMINFO構造体へのポインタである。
vtbl 5 HRESULT SetSubscriptionItemInfo(SUBSCRIPTIONITEMINFO* pSubscriptionItemInfo)
pSubscriptionItemInfoSUBSCRIPTIONITEMINFO*in設定するサブスクリプションアイテム情報を格納したSUBSCRIPTIONITEMINFO構造体へのポインタである。
vtbl 6 HRESULT ReadProperties(DWORD nCount, LPWSTR* rgwszName, VARIANT* rgValue)
nCountDWORDin読み取るプロパティの数を指定する。
rgwszNameLPWSTR*in読み取るプロパティ名の配列へのポインタである。
rgValueVARIANT*out読み取った各プロパティ値を受け取るVARIANTの配列へのポインタである。
vtbl 7 HRESULT WriteProperties(DWORD nCount, LPWSTR* rgwszName, VARIANT* rgValue)
nCountDWORDin書き込むプロパティの数を指定する。
rgwszNameLPWSTR*in書き込むプロパティ名の配列へのポインタである。
rgValueVARIANT*in書き込む各プロパティ値を格納したVARIANTの配列へのポインタである。
vtbl 8 HRESULT EnumProperties(IEnumItemProperties** ppEnumItemProperties)
ppEnumItemPropertiesIEnumItemProperties**outこのアイテムのプロパティを列挙するIEnumItemPropertiesを受け取るポインタである。
vtbl 9 HRESULT NotifyChanged()

HSP用 COM定義

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

出力引数:
#define global IID_ISubscriptionItem "{A97559F8-6C4A-11D1-A1E8-00C04FC2FBE1}"
#usecom global ISubscriptionItem IID_ISubscriptionItem "{}"
#comfunc global ISubscriptionItem_GetCookie                3 var
#comfunc global ISubscriptionItem_GetSubscriptionItemInfo  4 var
#comfunc global ISubscriptionItem_SetSubscriptionItemInfo  5 var
#comfunc global ISubscriptionItem_ReadProperties           6 int,var,var
#comfunc global ISubscriptionItem_WriteProperties          7 int,var,var
#comfunc global ISubscriptionItem_EnumProperties           8 sptr
#comfunc global ISubscriptionItem_NotifyChanged            9
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。