IAllocatorMXF 인터페이스(dmusicks.h)
이 인터페이스는 IAllocatorMXF DirectMusic 스트림에 대한 버퍼 스토리지를 관리합니다. DMus 포트 드라이버는 이 인터페이스를 구현하고 DMus 미니포트 드라이버에 노출합니다. DMus 포트 드라이버는 개체를 IAllocatorMXF 만들고 이 개체에 대한 포인터를 DMus 미니포트 드라이버의 IMiniportDMus::NewStream 메서드에 전달합니다. IAllocatorMXF 는 IMXF 인터페이스에서 상속됩니다.
IAllocatorMXF 는 미니포트 드라이버가 포트 드라이버의 내부 할당자와 통신하는 인터페이스로, DMUS_KERNEL_EVENT 구조체 풀의 재사용을 할당하고 관리합니다. 각 구조체에는 타임스탬프를 사용한 MIDI 이벤트가 포함될 수 있습니다.
또한 할당자는 큰 이벤트를 저장하는 데 필요한 추가 메모리 할당을 추상화합니다. DMUS_KERNEL_EVENT uData 멤버는 포인터의 크기인 32비트 시스템에서 4바이트, 64비트 시스템에서 8바이트인 공용 구조체입니다. 데이터가 해당 공간에 맞게 충분히 작으면 uData 에 실제 MIDI 데이터가 포함됩니다. 그러나 해당 이벤트의 데이터가 4바이트 또는 8바이트 포인터보다 큰 경우 cbEvent 멤버는 이 팩트를 나타내고 uData 는 실제 MIDI 데이터 대신 버퍼에 대한 포인터를 포함합니다. 이 버퍼는 할당자에 의해 관리되며 모든 포트 드라이버 구현에 대한 상수 크기입니다.
상속
IAllocatorMXF 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IAllocatorMXF 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IAllocatorMXF 인터페이스에는 이러한 메서드가 있습니다.
| IAllocatorMXF::GetBuffer GetBuffer 메서드는 긴 MIDI 이벤트에 대한 버퍼를 할당합니다. |
| IAllocatorMXF::GetBufferSize GetBufferSize 메서드는 할당자에서 버퍼 크기를 가져옵니다. |
| IAllocatorMXF::GetMessage GetMessage 메서드는 포트 드라이버의 할당자를 활용하여 DMUS_KERNEL_EVENT 구조를 다시 사용하는 DirectMusic 커널 모드 구성 요소의 검색 지점 역할을 합니다. |
| IAllocatorMXF::P utBuffer 이 메서드는 현재 미니포트 드라이버에서 사용되지 않습니다. PutBuffer 메서드는 할당자에 버퍼를 전달하지만 IMXF::P utMessage가 호출되면 자동으로 발생합니다. |
요구 사항
| 대상 플랫폼 | Windows |
| 헤더 | dmusicks.h |
피드백
다음에 대한 사용자 의견 제출 및 보기