IAllocatorMXF 介面 (dmusicks.h)
介面 IAllocatorMXF
會管理 DirectMusic 數據流的緩衝區記憶體。 DMus 埠驅動程式會實作此介面,並將它公開給 DMus 迷你埠驅動程式。 DMus 埠驅動程式會 IAllocatorMXF
建立 物件,並將指標傳遞給 DMus 迷你埠驅動程式的 IMiniportDMus::NewStream 方法。 IAllocatorMXF
繼承自 IMXF 介面。
IAllocatorMXF
是迷你埠驅動程式與埠驅動程序的內部 配置器通訊的介面,可配置和管理 DMUS_KERNEL_EVENT 結構的集區重複使用。 每個結構都可以包含時間戳的MIDI事件。
配置器也會抽象化儲存大型事件所需的額外記憶體配置。 DMUS_KERNEL_EVENT的 uData 成員是指針大小的等位:32 位系統上的四個字節,64 位系統上有八個字節。 如果數據小到足以容納該空間, 則 uData 會包含實際的 MIDI 數據。 不過,如果該事件的數據大於 4 或 8 位元組指標, cbEvent 成員會指出這個事實, 而 uData 包含緩衝區的指標,而不是實際的 MIDI 數據。 這個緩衝區是由配置器管理,而且是任何埠驅動程序實作的常數大小。
繼承
IAllocatorMXF 介面繼承自 IUnknown 介面。 IAllocatorMXF 也有下列類型的成員:
方法
IAllocatorMXF 介面具有這些方法。
IAllocatorMXF::GetBuffer GetBuffer 方法會配置長MIDI事件的緩衝區。 |
IAllocatorMXF::GetBufferSize GetBufferSize 方法會從配置器取得緩衝區大小。 |
IAllocatorMXF::GetMessage GetMessage 方法可作為任何 DirectMusic 核心模式元件的擷取點,該元件會利用埠驅動程式的配置器重複使用DMUS_KERNEL_EVENT結構。 |
IAllocatorMXF::P utBuffer 迷你埠驅動程式目前未使用這個方法。 PutBuffer 方法會將緩衝區傳遞至配置器,但這會在呼叫IMXF::P utMessage 時自動發生。 |
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | dmusicks.h |