Виртуальная OnPropertyChanged HRESULT (ULONG iCurSet, DBPROP * pDBProp );
Возвращаемое значение
Стандартное значение HRESULT. По умолчанию возвращает значение S_OK.
Параметры
iCurSet
Индекс в массиве, набор свойств; нуль, если есть только одно свойство.
pDBProp
Идентификатор свойства и новое значение в структуры DBPROP.
Примечания
Если вы хотите обработать связанного свойства, такие как закладки или обновления, значения которых зависят от значения другого свойства, следует переопределить эту функцию. MYPROV образце демонстрируется использование OnPropertyChanged для обработки закладок.
Пример
В этой функции пользователь получает Идентификатор свойства из DBPROP* параметр. Сейчас можно сравнивать ID против собственности в цепочку. Когда свойство найдено, SetProperties вызывается с свойства, которое устанавливается вместе с другим свойством. В данном случае, если кто-то получает DBPROP_IRowsetLocate , DBPROP_LITERALBOOKMARKS , или DBPROP_ORDEREDBOOKMARKS свойства, можно задать DBPROP_BOOKMARKS собственности.
HRESULT OnPropertyChanged(ULONG iCurSet, DBPROP* pDBProp)
{
ATLASSERT (pDBProp! = NULL);
DWORD dwPropertyID = pDBProp-gt; dwPropertyID;
Если (dwPropertyID == DBPROP_IRowsetLocate ||
dwPropertyID == DBPROP_LITERALBOOKMARKS ||
dwPropertyID == DBPROP_ORDEREDBOOKMARKS)
{
CComVariant var = pDBProp - > vValue;
Если (var.boolVal == VARIANT_TRUE)
{
/ / Установить свойство закладки, как они соединены
CComVariant bookVar(true);
CDBPropSet set(DBPROPSET_ROWSET);
Задайте.AddProperty (DBPROP_BOOKMARKS, bookVar);
возвращение SetProperties (1 и набора);
}
}
Возвращает значение S_OK;
}