Syntax:
HRESULT SetUsedIdentifiers(const VARIANT* arvFieldRestriction);
Aufgabe:
Wird ausschließlich auf Knotenebene verwendet. List & Label informiert den Provider darüber, welche Felder angefragt werden. Damit kann z. B. ein zugrundeliegendes SQL (Select) Statement im Datenobjekt eingeschränkt werden.
Parameter:
arvFieldRestriction: BSTR Variant Array mit den maximal anzufordernden Feldern.
Rückgabewert:
E_NOTIMPL für Wurzelobjekte, sonst S_OK
Hinweise:
Werden hier überhaupt keine Used Identifiers gesetzt, so gibt es auch keine Einschränkung zu setzen - es werden dann alle Felder angefordert.
Beispiel:
_usedIdentifiers.clear();// to be used when building query later
for (int i = 0;
i < int(arvFieldRestriction->parray->rgsabound[0].cElements); ++i)
{
VARIANT vItem;
long lIndex = i;
SafeArrayGetElement(arvFieldRestriction->parray,
&lIndex, &vItem);
std::wstring ws(vItem.bstrVal, SysStringLen(vItem.bstrVal));
_usedIdentifiers.insert(ws.c_str());
}
Siehe auch:
LlGetUsedIdentifiers