다음을 통해 공유


MIDI 출력 디바이스 쿼리

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

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

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

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