Syntax:
HRESULT SetUsedIdentifiers(const VARIANT* arvFieldRestriction);
Task:
Only used at node level. List & Label informs the provider which fields are required. Use this method, for example, to restrict an underlying SQL (select) statement in the data object.
Parameter:
arvFieldRestriction: BSTR Variant Array with the maximum number of fields to be requested.
Return value:
E_NOTIMPL for root objects, otherwise S_OK
Hints:
If no used identifiers are set here, there is no restriction to set - all fields are then requested.
Example:
_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());
}
See also:
LIGetUsedIdentifiers