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 位系統上有 8 個字節。 如果數據小到足以容納該空間,則 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 時,就會自動發生此情況。 |
要求
要求 | 價值 |
---|---|
目標平臺 | 窗戶 |
標頭 | dmusicks.h |