Pin Category 속성
USB 오디오 디바이스, IEEE 1394 오디오 디바이스 및 내부 버스의 오디오 디바이스에 대한 Microsoft WDM(Windows 드라이버 모델) 오디오 드라이버는 모두 핀이 있는 KS 필터로 디바이스를 나타냅니다. WDM 오디오 드라이버는 지원하는 각 핀 유형에 대해 하나의 KSPIN_DESCRIPTOR 구조를 유지 관리합니다. 이 구조 내에서 드라이버는 핀 유형의 KSPROPSETID_Pin 속성을 저장합니다. 이러한 속성 중에는 KSPROPERTY_PIN_CATEGORY 속성이 있습니다. 이 속성에 대한 요청은 KSPIN_DESCRIPTOR 구조체의 Category 멤버에서 KS 핀 범주 GUID를 검색합니다. 이 GUID는 핀이 제공하는 기능의 일반적인 범주를 나타냅니다. 예를 들어 특정 핀 범주 GUID인 KSNODETYPE_HEADPHONES 헤드폰의 출력 잭으로 핀을 식별합니다.
내부 버스(예: PCI)의 웨이브 오디오 디바이스의 경우 PortCls 미니포트 드라이버에는 각각 디바이스를 나타내는 필터의 핀 유형을 설명하는 핀 설명자 배열이 포함되어 있습니다. 각 핀 설명자는 핀 범주 GUID가 있는 포함된 KSPIN_DESCRIPTOR 구조를 포함하는 PCPIN_DESCRIPTOR 구조체입니다. 클라이언트에서 KSPROPERTY_PIN_CATEGORY 속성 요청을 받으면 포트 드라이버는 지정된 핀 유형에 대한 미니포트 드라이버의 핀 설명자에서 핀 범주 GUID를 검색합니다. 핀 설명자에 대한 자세한 내용은 핀 팩터리를 참조하세요.
USB 오디오 디바이스에는 디지털 스트림과 아날로그 신호가 디바이스를 입력하고 종료할 수 있는 몇 가지 터미널이 있습니다. USB 오디오 디바이스를 나타내기 위해 KS 필터를 생성할 때 USBAudio 클래스 시스템 드라이버는 디바이스의 터미널을 필터의 핀으로 변환합니다. 헤더 파일 Ksmedia.h는 각 USB 터미널 유형 식별자에 대한 매핑을 KS 핀 범주 GUID에 정의합니다. 다음 6개의 표에는 터미널 유형 식별자와 해당 핀 범주 GUID가 나와 있습니다.
입력 터미널 형식
USB 터미널 ID | KS 핀 범주 GUID |
---|---|
0x0201 |
KSNODETYPE_MICROPHONE |
0x0202 |
KSNODETYPE_DESKTOP_MICROPHONE |
0x0203 |
KSNODETYPE_PERSONAL_MICROPHONE |
0x0204 |
KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE |
0x0205 |
KSNODETYPE_MICROPHONE_ARRAY |
0x0206 |
KSNODETYPE_PROCESSING_MICROPHONE_ARRAY |
출력 터미널 형식
USB 터미널 ID | KS 핀 범주 GUID |
---|---|
0x0301 |
KSNODETYPE_SPEAKER |
0x0302 |
KSNODETYPE_HEADPHONES |
0x0303 |
KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO |
0x0304 |
KSNODETYPE_DESKTOP_SPEAKER |
0x0305 |
KSNODETYPE_ROOM_SPEAKER |
0x0306 |
KSNODETYPE_COMMUNICATION_SPEAKER |
0x0307 |
KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER |
양방향 터미널 유형
USB 터미널 ID | KS 핀 범주 GUID |
---|---|
0x0401 |
KSNODETYPE_HANDSET |
0x0402 |
KSNODETYPE_HEADSET |
0x0403 |
KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION |
0x0404 |
KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE |
0x0405 |
KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE |
전화 통신 터미널 유형
USB 터미널 ID | KS 핀 범주 GUID |
---|---|
0x0501 |
KSNODETYPE_PHONE_LINE |
0x0502 |
KSNODETYPE_TELEPHONE |
0x0503 |
KSNODETYPE_DOWN_LINE_PHONE |
외부 터미널 유형
USB 터미널 ID | KS 핀 범주 GUID |
---|---|
0x0601 |
KSNODETYPE_ANALOG_CONNECTOR |
0x0602 |
KSNODETYPE_DIGITAL_AUDIO_INTERFACE |
0x0603 |
KSNODETYPE_LINE_CONNECTOR |
0x0604 |
KSNODETYPE_LEGACY_AUDIO_CONNECTOR |
0x0605 |
KSNODETYPE_SPDIF_INTERFACE |
0x0606 |
KSNODETYPE_1394_DA_STREAM |
0x0607 |
KSNODETYPE_1394_DV_STREAM_SOUNDTRACK |
포함된 함수 터미널 형식
USB 터미널 ID | KS 핀 범주 GUID |
---|---|
0x0701 |
KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE |
0x0702 |
KSNODETYPE_EQUALIZATION_NOISE |
0x0703 |
KSNODETYPE_CD_PLAYER |
0x0704 |
KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE |
0x0705 |
KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE |
0x0706 |
KSNODETYPE_MINIDISK |
0x0707 |
KSNODETYPE_ANALOG_TAPE |
0x0708 |
KSNODETYPE_PHONOGRAPH |
0x0709 |
KSNODETYPE_VCR_AUDIO |
0x070A |
KSNODETYPE_VIDEO_DISC_AUDIO |
0x070B |
KSNODETYPE_DVD_AUDIO |
0x070C |
KSNODETYPE_TV_TUNER_AUDIO |
0x070D |
KSNODETYPE_SATELLITE_RECEIVER_AUDIO |
0x070E |
KSNODETYPE_CABLE_TUNER_AUDIO |
0x070F |
KSNODETYPE_DSS_AUDIO |
0x0710 |
KSNODETYPE_RADIO_RECEIVER |
0x0711 |
KSNODETYPE_RADIO_TRANSMITTER |
0x0712 |
KSNODETYPE_MULTITRACK_RECORDER |
0x0713 |
KSNODETYPE_SYNTHESIZER |
USB 터미널 유형 식별자에 대한 자세한 내용은 USB 구현자 포럼 웹 사이트에서 사용할 수 있는 터미널 유형에 대한 유니버설 직렬 버스 디바이스 클래스 정의(릴리스 1.0)를 참조하세요.
이전 테이블의 모든 핀 범주 GUID에는 KSNODETYPE_XXX 형식의 매개 변수 이름이 있습니다. KS 노드 형식 GUID에는 KSNODETYPE_XXX 매개 변수 이름도 있습니다. 이 명명 규칙은 핀 범주 GUID와 노드 형식 GUID 간에 혼동을 줄 수 있습니다. 다행히 거의 모든 KSNODETYPE_XXX 매개 변수는 핀 범주 또는 노드 형식을 식별하지만 둘 다 식별하지는 않습니다. 규칙의 한 가지 예외는 컨텍스트에 따라 핀 범주 또는 노드 유형을 식별할 수 있는 KSNODETYPE_SYNTHESIZER. 노드 유형 GUID 목록은 오디오 토폴로지 노드를 참조하세요.
USB 오디오 디바이스를 인스턴스화할 때 USBAudio 클래스 시스템 드라이버는 디바이스에 터미널을 포함한 내부 토폴로지를 쿼리합니다. 이 정보를 사용하여 USBAudio 드라이버는 디바이스를 나타내는 필터를 생성하고 각 터미널을 필터의 해당 핀으로 변환합니다. 이 프로세스 중에 드라이버는 각 USB 터미널 유형 식별자를 이전 테이블의 GUID 중 하나인 해당 KS 핀 범주 GUID로 변환합니다. 드라이버는 핀을 설명하는 KSPIN_DESCRIPTOR 구조를 구성하고 핀 범주 GUID를 구조체에 씁니다.
PortCls 미니포트 드라이버가 앞의 6개 테이블에 표시되는 범주 GUID만 반드시 사용하는 것은 아닙니다. 예를 들어 드라이버는 사용자 지정 핀 범주 GUID를 정의하고 사용하여 기능 범주가 테이블의 범주를 벗어나는 핀 유형을 설명할 수 있습니다. 당연히 사용자 지정 핀 범주 GUID는 GUID를 인식하는 클라이언트에만 유용합니다.
오디오 하위 시스템은 시스템 레지스트리에서 핀 범주 GUID 및 관련 식별 이름 목록을 유지 관리합니다. 미디어 클래스 설치 관리자는 guid-name 쌍을 기본 Windows 폴더의 Inf 하위 폴더(예: C:\Windows\Inf\Ks.inf)에 있는 Ks.inf 파일에서 레지스트리에 복사합니다.
운영 체제는 핀 범주를 사용하여 친숙한 이름을 오디오 엔드포인트 디바이스와 연결합니다. 친숙한 이름을 오디오 엔드포인트 디바이스와 연결하는 방법에 대한 자세한 내용은 오디오 엔드포인트 디바이스에 대한 식별 이름을 참조하세요.