다음을 통해 공유


MIDI 출력 디바이스 쿼리

MIDI 파일을 재생하기 전에 midiOutGetDevCaps 함수를 사용하여 시스템에 있는 MIDI 출력 디바이스의 기능을 확인해야 합니다. 이 함수는 지정된 디바이스의 기능에 대한 정보로 채워지는 MIDIOUTCAPS 구조체의 주소를 사용합니다. 이 정보에는 제조업체 및 제품 식별자, 디바이스의 제품 이름 및 디바이스 드라이버의 버전 번호(각각 wMid, wPid, szPnamevDriverVersion 멤버에 지정됨)가 포함됩니다.

MIDI 출력 디바이스는 내부 신시사이저 또는 외부 MIDI 출력 포트일 수 있습니다. MIDIOUTCAPS 구조체의 wTechnology 멤버는 디바이스의 기술을 지정합니다.

디바이스가 내부 신시사이저인 경우 wVoices, wNoteswChannelMask 멤버에서 추가 디바이스 정보를 사용할 수 있습니다. wVoices 멤버는 디바이스에서 지원하는 음성 수를 지정합니다. 각 음성은 다른 소리 또는 음색을 가질 수 있습니다. 음성은 MIDI 채널로 구성됩니다. wNotes 멤버는 디바이스의 폴리포니( 즉, 동시에 재생할 수 있는 최대 노트 수)를 지정합니다. wChannelMask 멤버는 디바이스가 응답하는 MIDI 채널의 비트 표현입니다. 예를 들어 디바이스가 처음 8개의 MIDI 채널에 응답하는 경우 wChannelMask 는 0x00FF. 디바이스가 외부 출력 포트인 경우 wVoiceswNotes 는 사용되지 않으며 wChannelMask 는 0xFFFF 설정됩니다.

MIDIOUTCAPS 구조체의 dwSupport 멤버는 디바이스 드라이버가 볼륨 변경, 패치 캐싱 및 스트리밍을 지원하는지 여부를 나타냅니다. 볼륨 변경은 내부 신시사이저 디바이스에서만 지원됩니다. 외부 MIDI 출력 포트는 볼륨 변경을 지원하지 않습니다. 볼륨 변경에 대한 자세한 내용은 내부 MIDI 신시사이저 볼륨 변경을 참조하세요.