Метод ISynchronousDataRetriever::LoadChangeData (winsync.h)
Извлекает данные элемента для изменения.
Синтаксис
HRESULT LoadChangeData(
[in] ILoadChangeContext *pLoadChangeContext,
[out] IUnknown **ppUnkData
);
Параметры
[in] pLoadChangeContext
Метаданные, описывающие изменение, для которого необходимо извлечь данные.
[out] ppUnkData
Возвращает данные элемента для изменения, указанного в pLoadChangeContext.
Возвращаемое значение
Возможные коды возврата включают, но не ограничиваются ими, значения, показанные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Комментарии
Поставщик источника определяет интерфейс извлечения данных, реализованный объектом, возвращаемым в ppUnkData. Поставщик назначения может получить этот интерфейс с помощью метода QueryInterfaceppUnkData.
Примеры
В следующем примере показана реализация LoadChangeData , которая находит указанное изменение в пользовательском хранилище данных и возвращает его копию.
STDMETHODIMP CItemStore::LoadChangeData(
ILoadChangeContext * pLoadChangeContext,
IUnknown ** ppUnkData)
{
HRESULT hr = E_UNEXPECTED;
if (NULL == pLoadChangeContext || NULL == ppUnkData)
{
hr = E_POINTER;
}
else
{
// Find the item in the data store, clone it, and return its IUnknown interface.
ISyncChange* pChange = NULL;
hr = pLoadChangeContext->GetSyncChange(&pChange);
if (SUCCEEDED(hr))
{
SYNC_GID gidItem;
DWORD cbID = sizeof(gidItem);
hr = pChange->GetRootItemId((BYTE*)&gidItem, &cbID);
if (SUCCEEDED(hr))
{
IXMLDOMNode* pNodeItem = NULL;
hr = FindItem(&gidItem, &pNodeItem);
if (SUCCEEDED(hr))
{
IXMLDOMNode* pNodeClone = NULL;
hr = pNodeItem->cloneNode(TRUE, &pNodeClone);
if (SUCCEEDED(hr))
{
hr = pNodeClone->QueryInterface(IID_IUnknown, (void**)ppUnkData);
pNodeClone->Release();
}
pNodeItem->Release();
}
}
pChange->Release();
}
}
return hr;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | winsync.h |