IMXF 인터페이스

DirectMusic 포트 및 미니포트 드라이버의 모든 MIDI 전송은 동일한 인터페이스 IMXF를 사용하여 수행됩니다.

IMXF 는 DirectMusic MIDI 변환 필터에 대한 COM 인터페이스입니다. MIDI 데이터를 처리하는 포트 드라이버의 미니포트 드라이버, 시퀀서 및 기타 엔터티는 IMXF 를 공통 COM 인터페이스로 사용합니다. 미니포트 드라이버가 이 인터페이스를 구현하면 MIDI 전송에 참여할 수 있습니다. PortCls에 있는 IPortDMusIMXF를 관리합니다. 캡처 디바이스에서 싱크를 캡처하는 인터페이스도 IMXF 인터페이스입니다.

MIDI 데이터는 압축된 타임스탬프를 찍은 데이터의 버퍼에서 사용자 모드와 커널 모드 간에 전송됩니다. 커널 포트 드라이버는 이러한 버퍼를 개별 이벤트로 분할합니다( DMUS_KERNEL_EVENT 참조). 고해상도 MIDI 시퀀서가 트리거 시간이 발생할 때 이러한 이벤트를 미니포트 드라이버에 전달합니다.

입력 쪽에서 커널 포트 드라이버는 미니포트 드라이버에서 개별 입력 메시지를 추출하고 압축된 버퍼를 빌드하여 사용자 모드로 전달합니다. 따라서 DirectMusic 미니포트 드라이버의 데이터 전송 모델은 IMXF::P utMessageIAllocatorMXF::GetMessage로 구성됩니다.

IMXF 인터페이스는 다음 메서드를 지원합니다.

IMXF::ConnectOutput

IMXF::D sconnectOutput

IMXF::P utMessage

IMXF::SetState

IAllocatorMXF 인터페이스는 다음 메서드를 추가하여 IMXF를 확장합니다.

IAllocatorMXF::GetMessage

IAllocatorMXF::GetBufferSize

IAllocatorMXF::GetBuffer

IAllocatorMXF::P utBuffer

이러한 인터페이스의 사용에 대한 자세한 내용은 할당자를 참조하세요.