Compartir a través de


Interfaz IAllocatorMXF (dmusicks.h)

La IAllocatorMXF interfaz administra el almacenamiento en búfer de las secuencias de DirectMusic. El controlador de puerto DMus implementa esta interfaz y la expone al controlador de miniporte DMus. El controlador de puerto DMus crea un IAllocatorMXF objeto y pasa un puntero a este objeto al método IMiniportDMus::NewStream del controlador de miniporte DMus. IAllocatorMXF hereda de la interfaz IMXF .

IAllocatorMXF es la interfaz a través de la cual el controlador de minipuerto se comunica con el asignador interno del controlador de puerto, que asigna y administra la reutilización de un grupo de estructuras de DMUS_KERNEL_EVENT . Cada estructura puede contener un evento MIDI con marca de tiempo.

El asignador también abstrae la asignación de la memoria adicional necesaria para almacenar eventos grandes. El miembro uData de DMUS_KERNEL_EVENT es una unión que es el tamaño de un puntero: cuatro bytes en un sistema de 32 bits y ocho bytes en un sistema de 64 bits. Si los datos son lo suficientemente pequeños como para caber en ese espacio, uData contendrá los datos MIDI reales. Si los datos de ese evento son mayores que el puntero de 4 o 8 bytes, sin embargo, el miembro cbEvent indica este hecho y uData contiene un puntero a un búfer en lugar de los datos MIDI reales. El asignador administra este búfer y es un tamaño constante para cualquier implementación del controlador de puerto.

Herencia

La interfaz IAllocatorMXF hereda de la interfaz IUnknown . IAllocatorMXF también tiene estos tipos de miembros:

Métodos

La interfaz IAllocatorMXF tiene estos métodos.

 
IAllocatorMXF::GetBuffer

El método GetBuffer asigna un búfer para eventos MIDI largos.
IAllocatorMXF::GetBufferSize

El método GetBufferSize obtiene el tamaño del búfer del asignador.
IAllocatorMXF::GetMessage

El método GetMessage sirve como punto de recuperación para cualquier componente de modo kernel de DirectMusic que utilice el asignador del controlador de puerto para reutilizar DMUS_KERNEL_EVENT estructuras.
IAllocatorMXF::P utBuffer

Actualmente, el controlador de miniport no usa este método. El método PutBuffer pasa un búfer al asignador, pero esto se produce automáticamente cuando se llama a IMXF::P utMessage de todos modos.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado dmusicks.h