ISyncMgrControl::UpdateEvents メソッド (syncmgr.h)
特定のハンドラーまたはアイテムに対してイベントが追加されたことを同期センターに通知します。
構文
HRESULT UpdateEvents(
[in] LPCWSTR pszHandlerID,
[in] LPCWSTR pszItemID,
[in] SYNCMGR_CONTROL_FLAGS nControlFlags
);
パラメーター
[in] pszHandlerID
種類: LPCWSTR
項目を管理するハンドラーの一意の ID を含むバッファーへのポインター。 この文字列は、終端の null 文字を含む最大長MAX_SYNCMGR_IDです。
[in] pszItemID
種類: LPCWSTR
項目の一意の ID を含むバッファーへのポインター。 この文字列は、終端の null 文字を含む最大長MAX_SYNCMGR_IDです。 イベントが特定の項目ではなくハンドラーで発生した場合、このパラメーターは NULL にすることができます。
[in] nControlFlags
更新を同期的または非同期的に実行するかどうかを指定する 、SYNCMGR_CONTROL_FLAGS 列挙の値。
戻り値
種類: HRESULT
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
解説
SYNCMGR_CF_WAITが nControlFlags パラメーターに設定されている場合、UpdateEvents は、指定したハンドラーを読み込み、ハンドラーのイベント ストアを取得し、そのストアからすべてのイベントを再読み込みするまで、UpdateEvents は返されません。 ハンドラー コレクションによってハンドラーが提供される場合、ハンドラー コレクションも読み込まれ、ハンドラーが再読み込みされます。
例
次の例は、ハンドラーのプロシージャによる ISyncMgrControl::UpdateEvents の使用方法を示しています。
void CMyDeviceHandler::Synchronize(...)
{
...
// Add events to the event store.
// Get the Sync Center control object.
ISyncMgrControl *pControl = NULL;
hr = CoCreateInstance(CLSID_SyncMgrControl,
CLSCTX_SERVER,
IID_PPV_ARGS(&pControl));
if (SUCCEEDED(hr))
{
// Tell Sync Center that we added events to our event store.
// By passing NULL in pszItemID, we tell Sync Center that the event
// occurred on the handler rather than a specific item.
hr = pControl->UpdateEvents(s_szMyDeviceSyncHandlerID,
NULL,
SYNCMGR_CF_NOWAIT);
pControl->Release();
}
...
}
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | syncmgr.h |