오디오 속성 요청
Microsoft WDM(Windows 드라이버 모델) 오디오 드라이버의 클라이언트는 KS 속성 에 대한 요청을 드라이버가 인스턴스화한 KS 필터 및 핀으로 보낼 수 있습니다. 예를 들어 사용자 모드 클라이언트는 IOCTL_KS_PROPERTY I/O 제어 코드를 사용하여 DeviceIoControl 함수(Microsoft Windows SDK 설명서 참조)를 호출하여 KS 속성 요청을 보낼 수 있습니다. 이 함수는 속성 요청이 포함된 IRP를 지정된 필터 또는 핀 개체로 보냅니다.
오디오 드라이버는 속성(KSPROPERTY_TYPE_GET, KSPROPERTY_TYPE_SET 및 KSPROPERTY_TYPE_BASICSUPPORT)에 대한 가져오기, 설정 및 기본 지원 요청을 지원합니다. 자세한 내용은 오디오 드라이버 속성 집합을 참조하세요.
클라이언트는 필터 속성, 핀 속성 및 노드 속성의 세 가지 종류의 속성에 대한 요청을 보낼 수 있습니다. 자세한 내용은 필터, 고정 및 노드 속성을 참조하세요.
필터 속성 요청을 필터 개체로 보낼 때 클라이언트는 instance 핸들로 대상 필터를 지정합니다(필터 팩터리 참조). 마찬가지로 핀 속성 요청을 pin 개체로 보낼 때 대상 핀은 instance 핸들에 의해 지정됩니다(핀 팩터리 참조). 두 요청 유형 모두 다음을 지정하는 KSPROPERTY 구조체를 포함합니다.
속성 집합을 식별하는 GUID
지정된 속성 집합 내의 속성 항목을 식별하는 인덱스
속성 요청 유형(get, set 또는 basic-support)을 나타내는 플래그
관련 속성은 함께 수집되어 속성 집합을 형성합니다. 특정 속성은 해당 속성 집합과 해당 집합 내에서 해당 위치를 지정하는 인덱스로 식별됩니다.
노드 속성 요청에는 KSPROPERTY 구조와 노드 ID를 결합하는 KSNODEPROPERTY 구조체가 포함됩니다. 노드 속성에 따라 속성 요청의 대상은 필터 instance 또는 핀 instance.
필터가 특정 노드 유형의 instance 둘 이상 만들 수 있는 경우 요청 대상은 핀 핸들에 의해 지정됩니다. 핸들은 노드 instance 있는 데이터 경로의 시작 또는 끝에 있는 핀 instance 식별합니다. SUM 또는 MUX 노드를 포함하는 필터의 경우( KSNODETYPE_SUM 및 KSNODETYPE_MUX 참조) 다음 규칙이 적용됩니다.
속성이 싱크(입력) 핀의 다운스트림에 있는 노드에 속하고 SUM 또는 MUX 노드에서 업스트림 경우 속성 요청이 싱크 핀으로 전송됩니다.
속성이 SUM 또는 MUX 노드의 다운스트림에 있는 노드에 속하고 원본(출력) 핀에서 업스트림 경우 속성 요청이 원본 핀으로 전송됩니다. 또한 SUM 또는 MUX 노드에 대한 속성 요청이 원본 핀으로 전송됩니다.
이러한 규칙을 사용하면 특정 데이터 경로의 특정 노드를 고유하게 식별할 수 있습니다.
믹서 API를 사용하여 데이터 경로의 노드를 트래버스하는 방법에 대한 자세한 내용은 커널 스트리밍 토폴로지를 오디오 믹서 API 번역으로 참조하세요.