Partager via


Interface IAllocatorMXF (dmusicks.h)

L’interface IAllocatorMXF gère le stockage de mémoires tampons pour les flux DirectMusic. Le pilote de port DMus implémente cette interface et l’expose au pilote miniport DMus. Le pilote de port DMus crée un objet IAllocatorMXF et transmet un pointeur vers cet objet vers la méthode IMiniportDMus ::NewStream du pilote DMus. IAllocatorMXF hérite de l’interface IMXF.

IAllocatorMXF est l’interface par laquelle le pilote miniport communique avec le interne du pilote de port, qui alloue et gère la réutilisation d’un pool de structures DMUS_KERNEL_EVENT. Chaque structure peut contenir un événement MIDI horodaté.

L’allocateur extrait également l’allocation de la mémoire supplémentaire nécessaire pour stocker les événements volumineux. Le membre uData de DMUS_KERNEL_EVENT est une union qui correspond à la taille d’un pointeur : quatre octets sur un système 32 bits et huit octets sur un système 64 bits. Si les données sont suffisamment petites pour s’adapter à cet espace, uData contiendra les données MIDI réelles. Si les données de cet événement sont supérieures au pointeur de 4 ou 8 octets, toutefois, le membre cbEvent indique ce fait et uData contient un pointeur vers une mémoire tampon au lieu des données MIDI réelles. Cette mémoire tampon est gérée par l’allocateur et est une taille constante pour toute implémentation de pilote de port.

Héritage

L’interface IAllocatorMXF hérite de l’interface IUnknown. IAllocatorMXF a également ces types de membres :

Méthode

L’interface IAllocatorMXF a ces méthodes.

 
IAllocatorMXF ::GetBuffer

La méthode GetBuffer alloue une mémoire tampon pour les événements MIDI longs.
IAllocatorMXF ::GetBufferSize

La méthode GetBufferSize obtient la taille de la mémoire tampon à partir de l’allocateur.
IAllocatorMXF ::GetMessage

La méthode GetMessage sert de point de récupération pour n’importe quel composant en mode noyau DirectMusic qui utilise l’allocateur du pilote de port pour réutiliser les structures DMUS_KERNEL_EVENT.
IAllocatorMXF ::P utBuffer

Cette méthode n’est actuellement pas utilisée par le pilote miniport. La méthode PutBuffer transmet une mémoire tampon à l’allocateur, mais cela se produit automatiquement lorsque IMXF ::P utMessage est appelé de toute façon.

Exigences

Exigence Valeur
plateforme cible Windows
d’en-tête dmusicks.h