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


Функция KsFilterAttemptProcessing (ks.h)

Функция KsFilterAttemptProcessing пытается инициировать обработку фильтра.

Синтаксис

void KsFilterAttemptProcessing(
  [in] PKSFILTER Filter,
  [in] BOOLEAN   Asynchronous
);

Параметры

[in] Filter

Указатель на структуру KSFILTER, представляющую объект фильтра AVStream, на котором выполняется попытка обработки.

[in] Asynchronous

Этот параметр содержит указание на то, должен ли диспетчер обработки выполняться асинхронно или нет (должно ли происходить). Асинхронная диспетчеризация гарантируется, если это TRUE; однако диспетчеры синхронной обработки управляются условиями, описанными ниже.

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

Никакой

Замечания

Если мини-driver вызывает KsFilterAttemptProcessing при выполнении всех условий, необходимых для обработки данных, происходит отправка обработки. Дополнительные сведения о обратном вызове процесса см. в KSFILTER_DISPATCH. Чтобы попытка привести к фактической отправке, шлюз управления процессами фильтра должен находиться в открытом состоянии. В отличие от обработки, ориентированной на закрепление, обработка с фильтрацией имеет множество условий, влияющих на шлюз управления процессом. Дополнительные сведения об этих требованиях см. в Filter-Centric обработке и Pin-Centric обработке.

Если шлюз управления процессом открыт, диспетчер обработки происходит синхронно или асинхронно. Если вызывающий объект задает TRUE в параметре асинхронной, то диспетчеризация обработки всегда выполняется асинхронно в рабочем элементе. Однако если вызывающий объект запрашивает синхронную обработку, диспетчер выполняется синхронно только в том случае, если система находится в IRQL, с которой мини-driver может обрабатывать обработку. Если система находится на PASSIVE_LEVEL, то диспетчер гарантированно будет синхронно. И наоборот, если система находится на DISPATCH_LEVEL, диспетчер выполняется синхронно, только если KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING указан в фильтре. В противном случае рабочий элемент помещается в очередь для выполнения обработки.

Обратите внимание, что это только попытка обработки; вызов этой функции не гарантирует, что обработка начнется. Обработка происходит только в том случае, если шлюз управления процессом открыт. Дополнительные сведения см. в разделе перезапуска обработки в AVStream и шлюзах управления потоками в AVStream.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Microsoft Windows XP и более поздних операционных системах и версиях DirectX 8.0 и более поздних версий DirectX.
целевая платформа Всеобщий
заголовка ks.h (include Ks.h)
библиотеки Ks.lib
IRQL <=DISPATCH_LEVEL

См. также

KSFILTER_DISPATCH

KSGATE

KsGateCaptureThreshold

KsPinAttemptProcessing