Интерфейс IAllocatorMXF (dmusicks.h)
Интерфейс IAllocatorMXF
управляет буферным хранилищем для потоков DirectMusic. Драйвер порта DMus реализует этот интерфейс и предоставляет его драйверу мини-порта DMus. Драйвер порта DMus создает IAllocatorMXF
объект и передает указатель на этот объект методу IMiniportDMus драйвера DMus miniport::NewStream . IAllocatorMXF
наследуется от интерфейса IMXF .
IAllocatorMXF
— это интерфейс, через который драйвер мини-порта взаимодействует с внутренним распределителем драйвера порта, который выделяет пул DMUS_KERNEL_EVENT структур и управляет им. Каждая структура может содержать событие MIDI с меткой времени.
Распределитель также абстрагирует выделение дополнительной памяти, необходимой для хранения больших событий. Элемент uData DMUS_KERNEL_EVENT представляет собой объединение размером с указатель: четыре байта в 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 |
Header | dmusicks.h |