Share via


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 파일에서 레지스트리에 복사합니다.

운영 체제는 핀 범주를 사용하여 친숙한 이름을 오디오 엔드포인트 디바이스와 연결합니다. 친숙한 이름을 오디오 엔드포인트 디바이스와 연결하는 방법에 대한 자세한 내용은 오디오 엔드포인트 디바이스에 대한 식별 이름을 참조하세요.