PFNKSPIN 콜백 함수(ks.h)
AVStream 미니드라이버의 콜백 루틴은 다음과 같은 경우에 호출됩니다.
- KSPIN 구조체에서 처리할 수 있는 데이터가 있습니다. 이 루틴을 사용하여 핀 중심 처리를 수행합니다.
- 관련 KSPIN 은 싱크 핀으로 사용되며 AVStream 원본 핀에 연결됩니다.
구문
PFNKSPIN Pfnkspin;
NTSTATUS Pfnkspin(
[in] PKSPIN Pin
)
{...}
매개 변수
[in] Pin
처리할 수 있는 프레임 데이터가 있는 KSPIN 에 대한 포인터입니다.
반환 값
STATUS_SUCCESS 반환하여 처리를 계속합니다. 다음 트리거 이벤트까지 처리를 중지하려면 STATUS_PENDING 반환합니다.
설명
AVStrMiniPinProcess 정보
미니 드라이버는 KSPIN_DISPATCH 구조의Process 멤버에서 이 루틴의 주소를 지정합니다.
필터가 이 디스패치 함수를 제공하여 핀 중심 처리를 사용함을 나타냅니다. 미니 드라이버는 AVStream이 AVStrMiniPinProcess를 호출하는 시기를 결정하는 관련 KSPIN_DESCRIPTOR_EX 구조에 핀 플래그를 설정합니다. 미니드라이버가 설명자에 플래그를 설정하지 않으면 새 데이터가 이전에 빈 큐에 도착할 때 AVStream이 AVStrMiniPinProcess 를 호출하는 것이 기본 동작입니다. 트리거 처리에 대한 자세한 내용은 Pin-Centric 처리를 참조하세요.
처리 후 미니 드라이버는 선행 에지 스트림 포인터를 복제하여 프레임이 완료되지 않도록 방지할 수 있습니다. 이렇게 하려면 KsStreamPointerClone을 호출합니다. 선행 및 후행 Edge Stream 포인터를 참조하세요.
또는 KSPIN_DESCRIPTOR_EX KSPIN_FLAG_DISTINCT_TRAILING_EDGE 설정하여 고유한 후행 가장자리를 지정합니다. 세 번째 옵션은 선행 에지 스트림 포인터를 진행하지 않는 것입니다.
프로세스 디스패치는 기본 IRQL = PASSIVE_LEVEL 또는 미니드라이버가 관련 KSPIN_DESCRIPTOR_EX KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING 지정한 경우 DISPATCH_LEVEL 수행됩니다.
이 루틴은 선택 사항입니다.
AVStrMiniPinConnect 정보
미니 드라이버는 해당 KSPIN_DISPATCH 구조의 Connect 멤버에서 이 루틴의 주소를 지정합니다.
연결 내 설정 시도에서 반환된 STATUS_SUCCESS 또는 오류를 반환합니다. STATUS_PENDING 반환하지 마세요.
이 루틴은 선택 사항입니다.
KS 핀도 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Microsoft Windows XP 이상 운영 체제 및 DirectX 8.0 이상 DirectX 버전에서 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
머리글 | ks.h(Ks.h 포함) |
IRQL | (설명 섹션 참조) |