ISyncMgrSyncCallback::ProposeItem method (syncmgr.h)
Proposes the addition of a new item to the set of items previously enumerated.
Syntax
HRESULT ProposeItem(
[in] ISyncMgrSyncItem *pNewItem
);
Parameters
[in] pNewItem
Type: ISyncMgrSyncItem*
A pointer to an instance of ISyncMgrSyncItem representing the new item.
Return value
Type: HRESULT
Returns S_OK if successful, or an error value otherwise. Returns E_INVALIDARG if pszItemID already exists.
Remarks
ISyncMgrSyncCallback::ProposeItem is typically called when items are not considered part of the sync set unless they have been successfully synchronized. Sync Center does not display this item in the UI until the ISyncMgrSyncCallback::CommitItem method has been called.
Examples
The following example shows the usage of ISyncMgrSyncCallback::ProposeItem and ISyncMgrSyncCallback::CommitItem by the Synchronize method.
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();
}
}
...
}
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Target Platform | Windows |
Header | syncmgr.h |