Поделиться через


Метод IFilter::GetChunk (filter.h)

Помещает фильтр в начало следующего блока или при первом вызове метода GetChunk и возвращает описание текущего блока.

Синтаксис

SCODE GetChunk(
  [out] STAT_CHUNK *pStat
);

Параметры

[out] pStat

Указатель на структуру STAT_CHUNK, содержащую описание текущего блока.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Возвращаемый код Описание
S_OK
Операция выполнена успешно.
FILTER_E_END_OF_CHUNKS
Предыдущий блок является последним блоком.
FILTER_E_EMBEDDING_UNAVAILABLE
Следующий блок — это внедрение, и фильтр содержимого недоступен.
FILTER_E_LINK_UNAVAILABLE
Следующий блок — это ссылка, и фильтр содержимого недоступен.
FILTER_E_PASSWORD
Пароль или другой сбой доступа, связанных с безопасностью.
FILTER_E_ACCESS
Общий сбой доступа.

Замечания

Если по возвращении pStat указывает на структуру STAT_CHUNK с элементом breakType равным CHUNK_NO_BREAK, будет обновлен только элемент idChunk с новым значением идентификатора блока (ID). Другие члены структуры STAT_CHUNK остаются неизменными.

Внутренние свойства типа значений (блоки с значением перечисления CHUNKSTATE значения CHUNK_VALUE) нельзя объединить с помощью CHUNK_NO_BREAK. Одно слово не может охватывать более двух приклеенных блоков.

Недопустимый идентификатор блока.

Перед первым вызовом метода getChunk отсутствует текущий блок. После получения кода ошибки, отличного от FILTER_E_END_OF_CHUNKS следующего вызова метода getChunk , возвращает следующий фрагмент после недоступного.

примечания к вызывающим абонентам

После завершения метода GetChunk блок, описанный в *pStat является текущим блоком. Дескриптор блока принадлежит подпрограмме вызова метода GetChunk, но указатель имени свойства, который можно задать в спецификации свойств, принадлежит методу GetChunk и не должен быть освобожден.

заметки для разработчиков

Если вызов метода GetChunk фильтра содержимого связанного или внедренного объекта возвращает FILTER_E_END_OF_CHUNKS, реализация должна вернуть следующий блок связывания или внедрения объекта. Например, если документ содержит два внедренных объекта и первый вернул FILTER_E_END_OF_CHUNKS, внешний фильтр содержимого должен вызвать метод GetChunk фильтра содержимого для внедренного объекта.

Прежде чем возвращать результаты вызова метода getChunk в внедренном или связанном объекте, проверьте, является ли идентификатор блока уникальным. В противном случае реализующий объект должен переумеровать блок и сохранить сопоставление нового идентификатора блока.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка filter.h

См. также

IFilter

STAT_CHUNK