IKnowledgeWithMarkers::NextAllChangeUnitsRequiredMarker
Возвращает следующий элемент списка элементов, помеченных как требующие включения всех базовых единиц.
HRESULT NextAllChangeUnitsRequiredMarker(
BYTE * pItemId,
DWORD * pIdSize);
Параметры
- pItemId
[in, out, unique, size_is(*pIdSize)] Возвращает идентификатор следующего элемента списка идентификаторов, помеченных как требующие включения всех базовых единиц.
- pIdSize
[in, out] Указывает число байтов в объекте pItemId. Возвращает число байтов, необходимое для получения идентификатора, если значение pItemId слишком мало, или число записанных байтов.
Возвращаемое значение
S_OK.
Значение S_FALSE, если в списке больше нет элементов или объект набора знаний содержит элементы, помеченные как содержащие все базовые единицы.
HRESULT_FROM_WIN32(ERROR_MORE_DATA), если размер pItemId слишком мал. В этом случае необходимое число байтов возвращается в параметре pIdSize.
Значение E_INVALIDARG, если значение pIdSize больше максимального размера, определенного схемой формата идентификаторов элементов.
Значение E_POINTER, если идентификаторы элементов имеют переменную длину, а параметр pIdSize имеет значение NULL.
Замечания
Если используются пользовательские фильтры, поставщик источника должен проверить, требуют ли элементы, добавляемые в пакет изменений, включения всех базовых единиц. Для этого вызовите IKnowledgeWithMarkers::ContainsAllChangeUnitsRequiredMarker или перечислите элементы с помощью NextAllChangeUnitsRequiredMarker. Когда для элемента задается маркер, требующий включения всех базовых единиц, поставщик источника должен включать все базовые единицы, проходящие фильтр для этого элемента.