Win32 API 日本語リファレンス
ホームUI.Shell › ISyncMgrEvent

ISyncMgrEvent

COM
IIDfee0ef8b-46bd-4db4-b7e6-ff2c687313bc継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

イベントストアからデータを取得するメソッドを公開します。イベントストアを使用すると、Sync Center はストア内のすべてのイベントの列挙子を取得できるほか、個々のイベントを取得することもできます。

メソッド 11

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

vtbl 3 HRESULT GetEventID(GUID* pguidEventID)

イベント ID を取得します。

pguidEventIDGUID*outこのメソッドから制御が戻ると、イベント ID へのポインターが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 4 HRESULT GetHandlerID(LPWSTR* ppszHandlerID)

イベントがログに記録された対象のハンドラーの ID を取得します。

ppszHandlerIDLPWSTR*outこのメソッドから制御が戻ると、Unicode 文字列としてのハンドラー ID へのポインターが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

ハンドラー ID は、終端の null 文字を含めて最大で MAX_SYNCMGR_ID の長さを持つことができます。イベント側で CoTaskMemAlloc を使用して文字列バッファーを割り当てることが期待されており、Sync Center はそれを使用して文字列バッファーを解放します。

vtbl 5 HRESULT GetItemID(LPWSTR* ppszItemID)

イベントがログに記録された対象の項目の ID を取得します。

ppszItemIDLPWSTR*outUnicode 文字列としての項目 ID へのポインターが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

項目 ID は、終端の null 文字を含めて最大で MAX_SYNCMGR_ID の長さを持つことができます。イベント側で CoTaskMemAlloc を使用して文字列バッファーを割り当てることが期待されており、Sync Center はそれを使用して文字列バッファーを解放します。

vtbl 6 HRESULT GetLevel(SYNCMGR_EVENT_LEVEL* pnLevel)

イベントのログレベルを取得します。

pnLevelSYNCMGR_EVENT_LEVEL*outこのメソッドから制御が戻ると、ログレベルを示す SYNCMGR_EVENT_LEVEL 列挙型のメンバーへのポインターが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 7 HRESULT GetFlags(SYNCMGR_EVENT_FLAGS* pnFlags)

イベントフラグを取得します。

pnFlagsSYNCMGR_EVENT_FLAGS*outこのメソッドから制御が戻ると、SYNCMGR_EVENT_FLAGS 列挙型のメンバーから取得された、現在設定されているフラグを示す値へのポインターが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT GetTime(FILETIME* pfCreationTime)

作成時刻を取得します。

pfCreationTimeFILETIME*outこのメソッドから制御が戻ると、FILETIME 構造体としての作成時刻へのポインターが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 9 HRESULT GetName(LPWSTR* ppszName)

イベントの名前を取得します。この文字列は、イベントの単純な名前または短い要約を表します。フォルダーおよびイベントのプロパティシートに表示されます。

ppszNameLPWSTR*outこのメソッドから制御が戻ると、Unicode 文字列としての名前へのポインターが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

イベント側で CoTaskMemAlloc を使用して文字列バッファーを割り当てることが期待されており、Sync Center はそれを使用して文字列バッファーを解放します。

vtbl 10 HRESULT GetDescription(LPWSTR* ppszDescription)

イベントの説明を取得します。

ppszDescriptionLPWSTR*outこのメソッドから制御が戻ると、説明を格納した null 終端の Unicode バッファーへのポインターのアドレスが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 11 HRESULT GetLinkText(LPWSTR* ppszLinkText)

イベントのホットリンクのテキストを取得します。

ppszLinkTextLPWSTR*outこのメソッドから制御が戻ると、Unicode 文字列としてのリンクテキストへのポインターが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

イベント側で CoTaskMemAlloc を使用して文字列バッファーを割り当てることが期待されており、Sync Center はそれを使用して文字列バッファーを解放します。

vtbl 12 HRESULT GetLinkReference(LPWSTR* ppszLinkReference)

イベントのホットリンクの参照を取得します。ホットリンクは表示されるプロパティであり、ユーザーがクリックするとアクションを実行できます。これにより、ハンドラーはフォルダー内でユーザーが一目で確認できる利用可能なアクションを提示できます。

ppszLinkReferenceLPWSTR*outこのメソッドから制御が戻ると、Unicode 文字列としてのリンク参照へのポインターが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

リンク参照は、ユーザーがホットリンクをクリックしたときに実行されます。ユーザーがリンクをクリックすると、Sync Center は GetObject を呼び出し、ISyncMgrEventLinkUIOperation インターフェイスに対する SYNCMGR_OBJECTID_EventLinkClick オブジェクトを要求します。このオブジェクトは、Run メソッドで使用できる ISyncMgrEvent インターフェイスポインターで初期化されます。ハンドラーがこのオブジェクト ID をサポートしていない場合、Sync Center はリンク参照を ShellExecute に渡します。

イベント側で CoTaskMemAlloc を使用して文字列バッファーを割り当てることが期待されており、Sync Center はそれを使用して文字列バッファーを解放します。

vtbl 13 HRESULT GetContext(LPWSTR* ppszContext)

ハンドラーがプロパティの表示やコンテキストメニューアクションの実行に使用できるコンテキストオブジェクトを取得します。

ppszContextLPWSTR*outこのメソッドから制御が戻ると、Unicode 文字列としてのコンテキストへのポインターが格納されます。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

ハンドラー側で CoTaskMemAlloc を使用してバッファーを割り当てることが期待されており、Sync Center はそれを使用して文字列バッファーを解放します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ISyncMgrEvent "{FEE0EF8B-46BD-4DB4-B7E6-FF2C687313BC}"
#usecom global ISyncMgrEvent IID_ISyncMgrEvent "{}"
#comfunc global ISyncMgrEvent_GetEventID        3 var
#comfunc global ISyncMgrEvent_GetHandlerID      4 var
#comfunc global ISyncMgrEvent_GetItemID         5 var
#comfunc global ISyncMgrEvent_GetLevel          6 var
#comfunc global ISyncMgrEvent_GetFlags          7 var
#comfunc global ISyncMgrEvent_GetTime           8 var
#comfunc global ISyncMgrEvent_GetName           9 var
#comfunc global ISyncMgrEvent_GetDescription    10 var
#comfunc global ISyncMgrEvent_GetLinkText       11 var
#comfunc global ISyncMgrEvent_GetLinkReference  12 var
#comfunc global ISyncMgrEvent_GetContext        13 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。