SetUsedIdentifiers (ILLDataProvider)

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