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 方法充当任何 DirectMusic 内核模式组件的检索点,该组件利用端口驱动程序的分配器重复使用DMUS_KERNEL_EVENT结构。 |
IAllocatorMXF::P utBuffer 微型端口驱动程序当前不使用此方法。 PutBuffer 方法将缓冲区传递给分配器,但在无论如何调用 IMXF::P utMessage 时,会自动发生这种情况。 |
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | dmusicks.h |