KS 속성, 이벤트 및 메서드
커널 스트리밍 아키텍처는 속성, 이벤트 및 메서드를 통해 미니드라이버와 사용자 모드 클라이언트 간의 상호 작용을 지원합니다. KS 개체의 클라이언트는 이러한 구문을 사용하여 개체 상태를 가져와서 설정하고, 이벤트에 대한 알림 콜백을 등록하고, 개체 메서드를 실행할 수 있습니다.
클라이언트는 세 가지 작업 클래스를 모두 표준화된 방식으로 요청합니다. 클라이언트는 DeviceIoControl(Microsoft Windows SDK 설명서에 설명됨) 또는 KsSynchronousDeviceControl에 대한 호출에서 KSIDENTIFIER의 별칭 구조를 제공합니다.
별칭 구조는 KSPROPERTY, KSEVENT 및 KSMETHOD입니다. 세 가지 모두 다음 매개 변수를 포함합니다.
설정
기능적으로 유사한 작업은 집합에서 함께 그룹화됩니다. 각 속성, 이벤트 또는 메서드 집합은 GUID로 식별됩니다. Microsoft는 표준 기술 관련 작업에 대한 GUID를 정의합니다. 미니드라이버에서는 사용자 지정 작업에 대한 자체 GUID를 정의할 수 있습니다.
식별자
각 작업은 집합 내의 ID 번호로 지정됩니다.
작업별 식별 데이터
특정 속성 요청에는 추가 데이터가 필요합니다. 예를 들어 오디오 디바이스의 핀은 KSPROPSETID_Audio 속성 집합을 지원합니다. 오디오 핀은 여러 다른 오디오 채널을 지원할 수 있습니다. 특정 KSPROPSETID_Audio 속성을 가져오거나 설정하는 클라이언트는 요청이 적용되는 오디오 채널을 지정해야 합니다. 이벤트 및 메서드 요청에는 추가 데이터가 필요하지 않습니다.
범용 작업에 대한 Microsoft 정의 집합 GUID 및 식별자는 헤더 ks.h에 있습니다. 멀티미디어 기술의 특정 클래스에 대한 표준 GUID 및 식별자는 ksmedia.h에서 찾을 수 있습니다.
AVStream 미니드라이버에서는 관련 KSFILTER_DESCRIPTOR 또는KSPIN_DESCRIPTOR_EX KSAUTOMATION_TABLE 구조에 대한 포인터를 제공하여 속성, 이벤트 및 메서드를 지원합니다. KSAUTOMATION_TABLE KSPROPERTY_SET 개체의 배열에 대한 포인터를 포함합니다. 자세한 내용은 Automation 테이블 정의를 참조하세요.
이 섹션에는 미니드라이버가 세 가지 작업 클래스를 지원하는 방법에 대한 정보가 포함되어 있습니다.