KsFilterAttemptProcessing 함수(ks.h)

KsFilterAttemptProcessing 함수는 필터에서 처리를 시작하려고 시도합니다.

구문

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

매개 변수

[in] Filter

처리를 시도할 AVStream 필터 개체를 나타내는 KSFILTER 구조체에 대한 포인터입니다.

[in] Asynchronous

이 매개 변수에는 처리 디스패치가 비동기적으로 발생해야 하는지 여부에 대한 표시가 포함되어 있습니다(발생하는 경우). TRUE이면 비동기 디스패치가 보장됩니다 . 그러나 동기 처리 디스패치는 아래에 설명된 조건에 따라 관리됩니다.

반환 값

없음

설명

데이터를 처리하는 데 필요한 모든 조건이 충족될 때 미니 드라이버가 KsFilterAttemptProcessing 을 호출하면 처리 디스패치가 발생합니다. 프로세스 콜백에 대한 자세한 내용은 KSFILTER_DISPATCH 참조하세요. 실제 디스패치를 수행하려면 필터의 프로세스 제어 게이트가 열린 상태여야 합니다. 핀 중심 처리와 달리 필터 중심 처리에는 프로세스 제어 게이트에 영향을 주는 많은 조건이 있습니다. 이러한 요구 사항에 대한 자세한 내용은 필터 중심 처리핀 중심 처리를 참조하세요.

프로세스 제어 게이트가 열려 있으면 처리 디스패치가 동기적으로 또는 비동기적으로 발생합니다. 호출자가 비동기 매개 변수에서 TRUE를 지정하는 경우 처리 디스패치는 항상 작업 항목에서 비동기적으로 발생합니다. 그러나 호출자가 동기 처리 디스패치를 요청하는 경우 시스템이 현재 미니드라이버가 처리를 처리할 수 있는 IRQL에 있는 경우에만 디스패치가 동기적으로 발생합니다. 시스템이 PASSIVE_LEVEL 경우 디스패치가 동기적으로 수행되도록 보장됩니다. 반대로 시스템이 DISPATCH_LEVEL 경우 필터에 KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING 지정된 경우에만 디스패치가 동기적으로 발생합니다. 그렇지 않으면 처리를 수행하기 위해 작업 항목이 큐에 대기됩니다.

처리하려는 시도일 뿐입니다. 이 함수를 호출해도 처리가 시작된다는 보장은 없습니다. 처리는 프로세스 제어 게이트가 "열려 있는" 경우에만 발생합니다. 자세한 내용은 AVStream에서 처리 다시 시작AVStream의 흐름 제어 게이트를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows XP 이상 운영 체제 및 DirectX 8.0 이상 DirectX 버전에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib
IRQL <=DISPATCH_LEVEL

추가 정보

KSFILTER_DISPATCH

KSGATE

KsGateCaptureThreshold

KsPinAttemptProcessing