次の方法で共有


ISyncMgrSyncCallback::P roposeItem メソッド (syncmgr.h)

以前に列挙した項目のセットに新しい項目を追加することを提案します。

構文

HRESULT ProposeItem(
  [in] ISyncMgrSyncItem *pNewItem
);

パラメーター

[in] pNewItem

種類: ISyncMgrSyncItem*

新しい項目を表す ISyncMgrSyncItem の インスタンスへのポインター。

戻り値

型: HRESULT

成功した場合はS_OK、それ以外の場合はエラー値を返します。 pszItemID が既に存在する場合は、E_INVALIDARGを返します。

解説

ISyncMgrSyncCallback::P roposeItem は通常、アイテムが正常に同期されていない限り、同期セットの一部と見なされない場合に呼び出されます。 同期センターでは、 ISyncMgrSyncCallback::CommitItem メソッドが呼び出されるまで、この項目は UI に表示されません。

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

HRESULT CMyDeviceHandler::Synchronize(...)
{
    ...

    // Start synchronizing the handler.

    ...

    // Find items waiting to be created.
    for (...)
    {
        // Create the item.
        ISyncMgrSyncItem *pNewItem = NULL;
        LPWSTR szItemID[MAX_SYNCMGR_ID];
        
        hr = GetNextNewItem(&pNewItem, szItemID, ARRAYSIZE(szItemID));
        if (SUCCEEDED(hr))
        {
            // Propose this item to Sync Center.
            hr = pCallback->ProposeItem(pNewItem);
            if (SUCCEEDED(hr))
            {
                // Synchronize the item.
                // Synchronization was successful.  Commit the item.
                hr = pCallback->CommitItem(szItemID);
            }
            pNewItem->Release();
        }
    }
    ...
}

要件

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