virtuale HRESULT OnPropertyChanged (ULONG iCurSet, DBPROP * pDBProp );
Valore restituito
Uno standard HRESULT. Il valore restituito predefinito è S_OK.
Parametri
iCurSet
L'indice nella matrice insieme di proprietà; zero se non c'è solo un set di proprietà.
pDBProp
L'ID della proprietà e il nuovo valore in un struttura DBPROP.
Osservazioni
Se si desidera gestire proprietà incatenata, come segnalibri o aggiornamenti, i cui valori dipendono dal valore della proprietà di un altro, si deve eseguire l'override di questa funzione. La MYPROV esempio viene illustrato come utilizzare OnPropertyChanged per gestire bookmarking.
Esempio
In questa funzione, l'utente ottiene l'ID della proprietà dalla DBPROP* parametro. Ora, è possibile confrontare l'ID contro una proprietà a catena. Quando la proprietà viene trovata, SetProperties viene chiamato con la proprietà che ora verrà impostata in combinato disposto con l'altra proprietà. In questo caso, se si ha la DBPROP_IRowsetLocate , DBPROP_LITERALBOOKMARKS , o DBPROP_ORDEREDBOOKMARKS Proprietà, si può impostare la DBPROP_BOOKMARKS Proprietà.
HRESULT OnPropertyChanged(ULONG iCurSet, DBPROP* pDBProp)
{
ATLASSERT (pDBProp! = NULL);
DWORD dwPropertyID = pDBProp-gt; dwPropertyID;
Se (dwPropertyID = = DBPROP_IRowsetLocate | |
dwPropertyID = = DBPROP_LITERALBOOKMARKS | |
dwPropertyID = = DBPROP_ORDEREDBOOKMARKS)
{
Var CComVariant = pDBProp - > vValue;
Se (var.boolVal = = VARIANT_TRUE)
{
/ / Imposta la proprietà tra i preferiti come queste sono incatenate
CComVariant bookVar(true);
CDBPropSet set(DBPROPSET_ROWSET);
impostare.AddProperty (DBPROP_BOOKMARKS, bookVar);
restituire SetProperties (1 e insieme);
}
}
restituisce S_OK;
}