KSFILTER 구조체(ks.h)

KSFILTER 구조체는 인스턴스화된 필터를 설명합니다.

구문

typedef struct _KSFILTER {
  const KSFILTER_DESCRIPTOR *Descriptor;
  KSOBJECT_BAG              Bag;
  PVOID                     Context;
} KSFILTER, *PKSFILTER;

멤버

Descriptor

이 특정 필터의 특성을 설명하는 KSFILTER_DESCRIPTOR 구조체에 대한 포인터입니다.

Bag

이 멤버는 이 필터 instance 연결된 KSOBJECT_BAG(PVOID 형식과 동일)를 지정합니다. 개체 모음 은 동적 메모리를 특정 AVStream 개체와 연결하는 데 사용되는 구조체입니다. 필터 개체 모음의 모든 항목은 필터가 삭제될 때 자동으로 정리됩니다.

Context

클라이언트가 컨텍스트 정보를 특정 필터 instance 연결하는 데 사용하는 포인터입니다. 일반적으로 이러한 컨텍스트 정보는 이 필터 instance 대한 KSFILTER_DISPATCH 테이블에 정의된 대로 필터의 Create 멤버에 연결됩니다. 동적으로 할당된 컨텍스트 정보는 KsAddItemToObjectBag을 사용하여 개체 모음에 배치해야 합니다. 컨텍스트는 필터를 만들 때 부모 KSFILTERFACTORYContext 멤버 값으로 초기화됩니다. AVStream 개체 계층 구조를 참조하세요.

설명

소프트웨어 필터를 구현하는 드라이버는 일반적으로 필터 상태를 KSFILTER 구조와 연결합니다. 소프트웨어 필터는 일반적으로 해당 KSFILTER_DISPATCH 구조의 프로세스 멤버가 지정한 콜백 내에서 데이터를 처리합니다.

하드웨어 필터는 일반적으로 KSFILTER를 사용하지 않습니다. 하드웨어 드라이버의 초점은 플랫폼 전환, 즉 호스트와 외부 하드웨어 간의 데이터 이동이기 때문입니다. 이 전환은 일반적으로 AVStream 큐 개체와 연결된 코드에서 처리됩니다.

개체 모음도 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows XP 이상 운영 체제 및 Microsoft DirectX 8.0 이상 버전에서 사용할 수 있습니다.
머리글 ks.h(Ks.h 포함)

추가 정보

KSFILTER_DESCRIPTOR

KSFILTER_DISPATCH

KsAddItemToObjectBag

KsCompletePendingRequest