Freigeben über


IAllocatorMXF-Schnittstelle (dmusicks.h)

Die IAllocatorMXF Schnittstelle verwaltet den Pufferspeicher für DirectMusic-Datenströme. Der DMus-Porttreiber implementiert diese Schnittstelle und macht sie dem DMus-Miniporttreiber verfügbar. Der DMus-Porttreiber erstellt ein IAllocatorMXF-Objekt und übergibt einen Zeiger an dieses Objekt an die IMiniportDMus::NewStream--Methode des DMus-Miniporttreibers. IAllocatorMXF erbt von der IMXF--Schnittstelle.

IAllocatorMXF ist die Schnittstelle, über die der Miniporttreiber mit dem internen des Porttreiberskommuniziert, das die Wiederverwendung eines Pools von DMUS_KERNEL_EVENT Strukturen zuordnet und verwaltet. Jede Struktur kann ein zeitstempeltes MIDI-Ereignis enthalten.

Der Allocator abstrahiert auch die Zuordnung des zusätzlichen Speichers, der zum Speichern großer Ereignisse benötigt wird. Das uData- Mitglied von DMUS_KERNEL_EVENT ist eine Union, die die Größe eines Zeigers darstellt: vier Bytes auf einem 32-Bit-System und acht Bytes auf einem 64-Bit-System. Wenn die Daten klein genug sind, um in diesen Bereich zu passen, enthält uData- die tatsächlichen MIDI-Daten. Wenn die Daten für dieses Ereignis größer als der 4- oder 8-Byte-Zeiger sind, gibt das cbEvent-element diese Tatsache an und uData- enthält einen Zeiger auf einen Puffer anstelle der tatsächlichen MIDI-Daten. Dieser Puffer wird vom Allocator verwaltet und ist eine konstante Größe für jede Porttreiberimplementierung.

Erbschaft

Die IAllocatorMXF-schnittstelle erbt von der IUnknown--Schnittstelle. IAllocatorMXF- verfügt auch über die folgenden Membertypen:

Methodik

Die IAllocatorMXF Schnittstelle hat diese Methoden.

 
IAllocatorMXF::GetBuffer

Die GetBuffer-Methode weist einen Puffer für lange MIDI-Ereignisse zu.
IAllocatorMXF::GetBufferSize

Die GetBufferSize-Methode ruft die Puffergröße aus dem Allocator ab.
IAllocatorMXF::GetMessage

Die GetMessage-Methode dient als Abrufpunkt für jede DirectMusic-Kernelmoduskomponente, die den Porttreiber-Allokator verwendet, um DMUS_KERNEL_EVENT Strukturen wiederzuverwenden.
IAllocatorMXF::P utBuffer

Diese Methode wird derzeit nicht vom Miniporttreiber verwendet. Die PutBuffer-Methode übergibt einen Puffer an den Allocator. Dies tritt jedoch automatisch auf, wenn IMXF::P utMessage trotzdem aufgerufen wird.

Anforderungen

Anforderung Wert
Zielplattform- Fenster
Header- dmusicks.h