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 |