Як я посиланням нерухомість в мій провайдер?

Знайти група властивостей і код для властивості, яку ви хочете. (Перегляньте OLE DB властивості в OLE DB програміста посилання.)

Нижче наведено приклад припускає, що ви намагаєтеся отримати властивості в набір рядків. Код для сеансу або команду схожий, але використовує різні інтерфейс.

Створити об'єкт CDBPropset за допомогою група властивостей як параметр в Конструктор. Наприклад:

CDBPropSet propset(DBPROPSET_ROWSET)

Зателефонуйте AddProperty, передачі її майно ID і значення, для призначення на майно. Тип значення, яке залежить від властивостей, які ви використовуєте.

CDBPropSet propset(DBPROPSET_ROWSET);
propset.AddProperty(DBPROP_IRowsetChange, true);
propset.AddProperty (DBPROP_UPDATABILITY,
DBPROPVAL_UP_INSERT | DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_DELETE)

Компонент даних за допомогою m_spUnkSite Щоб отримати вказівник миші на об'єкт, створений об'єкт.

 CAgentRowsetlt;CMyProviderCommand > * pRowset = (CAgentRowset <CMyProviderCommand> *) pThis;

CComQIPtr < IRowsetInfo & IID_IRowsetInfo > spRowsetProps = pRowset

Використовувати IRowset інтерфейс для виклику GetProperties. Передати власності, встановити як параметр. Ось остаточний код:

CAgentRowsetlt;CMyProviderCommand > * pRowset = (CAgentRowset <CMyProviderCommand> *) pThis;

CComQIPtr < IRowsetInfo & IID_IRowsetInfo > spRowsetProps = pRowset;

набір.AddPropertyID(DBPROP_BOOKMARKS);
DBPROPSET * pPropSet = NULL;
ULONG-ulPropSet = 0;
HRESULT hr;

Якщо (spRowsetProps)
   hr = spRowsetProps - > GetProperties (1 та набір & ulPropSet та pPropSet);

Якщо (pPropSet)
{
   CComVariant var = pPropSet - > .vvalue rgProperties [0];
   CoTaskMemFree (pPropSet - > rgProperties);
   CoTaskMemFree(pPropSet);

Якщо (SUCCEEDED(hr) & & (var.boolVal = = VARIANT_TRUE))
   {
      …
   }
}

Index