IAllocatorMXF-Schnittstelle (dmusicks.h)

Die IAllocatorMXF Schnittstelle verwaltet Pufferspeicher für DirectMusic-Streams. Der DMus-Porttreiber implementiert diese Schnittstelle und macht sie für den DMus-Miniporttreiber verfügbar. Der DMus-Porttreiber erstellt ein IAllocatorMXF Objekt und übergibt einen Zeiger auf 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 Zuordnungsgeber des Porttreibers kommuniziert, der die Wiederverwendung eines Pools mit DMUS_KERNEL_EVENT Strukturen zuordnet und verwaltet. Jede Struktur kann ein MIDI-Ereignis mit Zeitstempel enthalten.

Der Zuordnungsgeber abstrahiert auch die Zuordnung des zusätzlichen Arbeitsspeichers, der zum Speichern großer Ereignisse benötigt wird. Das uData-Element von DMUS_KERNEL_EVENT ist eine Union mit der Größe eines Zeigers: vier Bytes auf einem 32-Bit-System und acht Bytes auf einem 64-Bit-System. Wenn die Daten klein genug sind, um in diesen Raum zu passen, enthält uData die tatsächlichen MIDI-Daten. Wenn die Daten für dieses Ereignis jedoch 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.

Vererbung

Die IAllocatorMXF-Schnittstelle erbt von der IUnknown-Schnittstelle . IAllocatorMXF verfügt auch über folgende Arten von Membern:

Methoden

Die IAllocatorMXF-Schnittstelle verfügt über 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 vom Zuteilungsgeber ab.
IAllocatorMXF::GetMessage

Die GetMessage-Methode dient als Abrufpunkt für jede DirectMusic-Kernelmoduskomponente, die den Allocator des Porttreibers 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 geschieht jedoch automatisch, wenn IMXF::P utMessage trotzdem aufgerufen wird.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile dmusicks.h