Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интерфейс IAllocatorMXF управляет хранилищем буферов для потоков DirectMusic. Драйвер порта DMus реализует этот интерфейс и предоставляет его драйверу мини-порта DMus. Драйвер порта DMus создает IAllocatorMXF объект и передает указатель на этот объект в метод IMiniport драйвера IMiniportDMus::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. |
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Виндоус |
| Заголовок | dmusicks.h |