다음을 통해 공유


KsPinAttemptProcessing 함수(ks.h)

KsPinAttemptProcessing 함수는 핀 중심 필터의 특정 핀에서 처리를 다시 시작하는 데 사용됩니다. Pin의 처리 개체에 처리 디스패치 호출을 전송하여 Pin에서 처리를 시작하려고 합니다.

구문

void KsPinAttemptProcessing(
  [in] PKSPIN  Pin,
  [in] BOOLEAN Asynchronous
);

매개 변수

[in] Pin

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

경고

이 매개 변수는 필수입니다. Pin 값이 NULL인 KsPinAttemptProcessing을 호출하면 시스템 불안정이 발생할 수 있습니다.

[in] Asynchronous

이 매개 변수는 처리가 동기적으로 또는 비동기적으로 수행되어야 하는지 여부를 미니드라이버의 기본 설정을 나타냅니다. TRUE이면 처리가 항상 비동기적입니다. 그러나 동기 처리는 특정 상황에서만 발생합니다. 자세한 내용은 아래 설명 섹션을 참조하세요.

반환 값

없음

설명

미니 드라이버는 KsPinAttemptProcessing을 호출하여 다양한 상황에서 처리를 다시 시작해야 할 수 있습니다. 예를 들어 클라이언트가 KsGateTurnInputOff를 사용하여 처리 제어 게이트를 차단한 경우 처리를 시도할 준비가 되면 이 함수를 호출합니다. 프로세스 제어 게이트가 열린 상태인 경우에만 처리 디스패치가 발생합니다. 또 다른 상황에는 이전에 STATUS_PENDING 처리 디스패치로 반환한 미니 드라이버가 포함됩니다. 자세한 내용은 AVStream에서 처리 다시 시작AVStream의 흐름 제어 게이트를 참조하세요.

처리 디스패치는 동기적으로 또는 비동기적으로 발생하며 처리 제어 게이트가 열려 있는 경우에만 발생합니다. 비동기 플래그는 미니드라이버의 기본 설정을 지정합니다. 미니드라이버가 비동기 프로세스 디스패치를 요청하는 경우 디스패치는 항상 비동기적입니다. 그러나 호출자가 비동기를FALSE로 설정하더라도 시스템이 현재 IRQL에서 실행 중인 경우 최대 처리 IRQL보다 작은 경우에만 동기 디스패치가 발생합니다. 즉, 미니드라이버가 디스패치 수준 처리를 지정하지 않고 IRQL = DISPATCH_LEVEL 호출이 수행되면 비동기 값에 관계없이 PASSIVE_LEVEL 비동기 작업 항목에서 호출이 발생합니다. 자세한 내용은 필터 중심 처리핀 중심 처리를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib
IRQL <=DISPATCH_LEVEL(설명 참조)

추가 정보

KSFILTER_DISPATCH

KsFilterAttemptProcessing

KsGateCaptureThreshold