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