ISyncMgrSyncCallback::ReportEvent メソッド (syncmgr.h)

同期するアイテムの [同期結果] フォルダーに追加するイベントを提供します。

構文

HRESULT ReportEvent(
  [in]  LPCWSTR             pszItemID,
  [in]  SYNCMGR_EVENT_LEVEL nLevel,
  [in]  SYNCMGR_EVENT_FLAGS nFlags,
  [in]  LPCWSTR             pszName,
  [in]  LPCWSTR             pszDescription,
  [in]  LPCWSTR             pszLinkText,
  [in]  LPCWSTR             pszLinkReference,
  [in]  LPCWSTR             pszContext,
  [out] GUID                *pguidEventID
);

パラメーター

[in] pszItemID

種類: LPCWSTR

現在同期されている項目の一意の ID を含むバッファーへのポインター。 この文字列は、終端の null 文字を含む最大長MAX_SYNCMGR_IDです。

[in] nLevel

種類: SYNCMGR_EVENT_LEVEL

関連するイベントの種類を宣言する SYNCMGR_EVENT_LEVEL 列挙の値。

[in] nFlags

種類: SYNCMGR_EVENT_FLAGS

使用されていません。

[in] pszName

種類: LPCWSTR

イベントの名前を含むバッファーへのポインター。

[in] pszDescription

種類: LPCWSTR

イベントの説明を含むバッファーへのポインター。

[in] pszLinkText

種類: LPCWSTR

アイテムへのハイパーリンクで使用されるテキストを含むバッファーへのポインター。 このパラメーターには NULL を指定できます

[in] pszLinkReference

種類: LPCWSTR

アイテムの URL を含むバッファーへのポインター。 このパラメーターには NULL を指定できます

[in] pszContext

種類: LPCWSTR

イベントに関連付けるハンドラー固有のデータ。

[out] pguidEventID

型: GUID*

このメソッドが戻るとき、 には、イベントの一意の ID へのポインターが含まれます。

戻り値

種類: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

ハンドラーが同期結果に関する詳細をユーザーに提供するために、ハンドラーによって報告される個々の同期結果のプロパティ シートを拡張できます。

このメソッドは LogError を置き換えます。

イベントはメモリにのみ格納されるため、ユーザーがログオフまたはシャットダウンすると、すべてのイベントがクリアされます。 これは、カスタム ISyncMgrEventStore を実装する理由の 1 つです。これにより、ファイル、ネットワーク経由、またはレジストリを含むどこからでもイベントを提供できます。 ただし、同期結果フォルダーには、内部イベント ストアと同期ハンドラーによって提供されるカスタム イベント ストアの両方によって提供されるイベントが表示されます。

次の例は、Synchronize メソッドによる ISyncMgrSyncCallback::ReportProgress の使用方法を示しています。

STDMETHODIMP CMyDeviceHandler::Synchronize(...)
{
    ...
    // Get the event receiver interface.
    ISyncMgrEventReceiver *pEventReceiver = NULL;
    hr = pCallback->QueryInterface(IID_ISyncMgrEventReceiver,
                                   (void **) &pEventReceiver);

    ...

    // Start synchronizing the sync item.

    ...

    // Generate a GUID for this item.
    // Construct a string to display in the Sync Results folder.
    // Store the information about this event so we can display more details.
    // Report the event to Sync Center.
    hr = pEventReceiver->ReportEvent(pszItemID,
                                     SYNCMGR_EL_INFORMATION,
                                     SYNCMGR_EF_NONE,
                                     pszEventName,
                                     pszEventDescription,
                                     NULL,
                                     NULL,
                                     NULL,
                                     &guidEventID);
    ...
}

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー syncmgr.h