Win32 API 日本語リファレンス
ホームSystem.Com.Events › IEventPublisher

IEventPublisher

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDe341516b-2e32-11d1-9964-00c04fbbb345継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

イベントパブリッシャーの登録、変更、削除を行い、イベントパブリッシャーに関する情報を提供します。

メソッド 14

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

vtbl 7 HRESULT get_PublisherID(LPWSTR* pbstrPublisherID)
pbstrPublisherIDLPWSTR*outパブリッシャーの識別子を文字列として受け取る。
vtbl 8 HRESULT put_PublisherID(LPWSTR bstrPublisherID)

イベントパブリッシャーの識別子。

bstrPublisherIDLPWSTRinパブリッシャーに設定する識別子を文字列で指定する。
vtbl 9 HRESULT get_PublisherName(LPWSTR* pbstrPublisherName)

イベントパブリッシャーの表示名。(Get)

pbstrPublisherNameLPWSTR*outパブリッシャーの表示名を文字列として受け取る。
vtbl 10 HRESULT put_PublisherName(LPWSTR bstrPublisherName)

イベントパブリッシャーの表示名。(Put)

bstrPublisherNameLPWSTRinパブリッシャーに設定する表示名を文字列で指定する。
vtbl 11 HRESULT get_PublisherType(LPWSTR* pbstrPublisherType)

イベントパブリッシャーの省略可能な管理グループ。(Get)

pbstrPublisherTypeLPWSTR*outパブリッシャーの種類を文字列として受け取る。
vtbl 12 HRESULT put_PublisherType(LPWSTR bstrPublisherType)

イベントパブリッシャーの省略可能な管理グループ。(Put)

bstrPublisherTypeLPWSTRinパブリッシャーに設定する種類を文字列で指定する。
vtbl 13 HRESULT get_OwnerSID(LPWSTR* pbstrOwnerSID)

イベントパブリッシャーの作成者のセキュリティ識別子。(Get)

pbstrOwnerSIDLPWSTR*outパブリッシャーの所有者を表す SID を文字列として受け取る。
vtbl 14 HRESULT put_OwnerSID(LPWSTR bstrOwnerSID)

イベントパブリッシャーの作成者のセキュリティ識別子。(Put)

bstrOwnerSIDLPWSTRinパブリッシャーの所有者を表す SID を文字列で指定する。
vtbl 15 HRESULT get_Description(LPWSTR* pbstrDescription)

イベントパブリッシャーの表示テキスト。(Get)

pbstrDescriptionLPWSTR*outパブリッシャーの説明文字列を受け取る。
vtbl 16 HRESULT put_Description(LPWSTR bstrDescription)

イベントパブリッシャーの表示テキスト。(Put)

bstrDescriptionLPWSTRinパブリッシャーに設定する説明文字列を指定する。
vtbl 17 HRESULT GetDefaultProperty(LPWSTR bstrPropertyName, VARIANT* propertyValue)

イベントパブリッシャーに関連付けられたプロパティバッグから、指定した名前のプロパティとその値を取得します。

bstrPropertyNameLPWSTRin値を取得するプロパティの名前。
propertyValueVARIANT*outプロパティを受け取る変数へのポインター。

戻り値

取り得る戻り値には、E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAILS_OK があります。

解説(Remarks)

EventPublisher オブジェクトには、名前と値のペアを格納できるプロパティバッグが含まれています。サブスクライバーを含むイベントシステム内のオブジェクトは、これらのプロパティを追加、変更、読み取ることができます。

vtbl 18 HRESULT PutDefaultProperty(LPWSTR bstrPropertyName, VARIANT* propertyValue)

イベントパブリッシャーに関連付けられたプロパティバッグに、指定した名前のプロパティとその値を書き込みます。

bstrPropertyNameLPWSTRin値を設定するプロパティの名前。
propertyValueVARIANT*inプロパティの新しい値。

戻り値

取り得る戻り値には、E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAILS_OK があります。

解説(Remarks)

EventPublisher オブジェクトには、名前と値のペアを格納できるプロパティバッグが含まれています。サブスクライバーを含むイベントシステム内のオブジェクトは、これらのプロパティを追加、変更、読み取ることができます。

vtbl 19 HRESULT RemoveDefaultProperty(LPWSTR bstrPropertyName)

イベントパブリッシャーオブジェクトに関連付けられたプロパティバッグから、指定した名前のプロパティとその値を削除します。

bstrPropertyNameLPWSTRin削除するプロパティの名前。

戻り値

取り得る戻り値には、E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAILS_OK があります。

解説(Remarks)

EventPublisher オブジェクトには、名前と値のペアを格納できるプロパティバッグが含まれています。サブスクライバーを含むイベントシステム内のオブジェクトは、これらのプロパティを追加、変更、読み取ることができます。

vtbl 20 HRESULT GetDefaultPropertyCollection(IEventObjectCollection** collection)

イベントパブリッシャーオブジェクトに関連付けられたプロパティバッグに含まれるプロパティを列挙するコレクションオブジェクトを作成します。

collectionIEventObjectCollection**outイベントオブジェクトコレクション上の IEventObjectCollection インターフェイスポインターへのポインター。このパラメーターに NULL を指定することはできません。

戻り値

取り得る戻り値には、E_INVALIDARGE_OUTOFMEMORYE_UNEXPECTEDE_FAILS_OK があります。

解説(Remarks)

EventPublisher オブジェクトには、名前と値のペアを格納できるプロパティバッグが含まれています。サブスクライバーを含むイベントシステム内のオブジェクトは、これらのプロパティを追加、変更、読み取ることができます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IEventPublisher "{E341516B-2E32-11D1-9964-00C04FBBB345}"
#usecom global IEventPublisher IID_IEventPublisher "{}"
#comfunc global IEventPublisher_get_PublisherID               7 var
#comfunc global IEventPublisher_put_PublisherID               8 wstr
#comfunc global IEventPublisher_get_PublisherName             9 var
#comfunc global IEventPublisher_put_PublisherName             10 wstr
#comfunc global IEventPublisher_get_PublisherType             11 var
#comfunc global IEventPublisher_put_PublisherType             12 wstr
#comfunc global IEventPublisher_get_OwnerSID                  13 var
#comfunc global IEventPublisher_put_OwnerSID                  14 wstr
#comfunc global IEventPublisher_get_Description               15 var
#comfunc global IEventPublisher_put_Description               16 wstr
#comfunc global IEventPublisher_GetDefaultProperty            17 wstr,var
#comfunc global IEventPublisher_PutDefaultProperty            18 wstr,var
#comfunc global IEventPublisher_RemoveDefaultProperty         19 wstr
#comfunc global IEventPublisher_GetDefaultPropertyCollection  20 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。