Interfaccia IAllocatorMXF (dmusicks.h)
L'interfaccia gestisce l'archiviazione IAllocatorMXF
buffer per i flussi DirectMusic. Il driver di porta DMus implementa questa interfaccia e la espone al driver miniport DMus. Il driver di porta DMus crea un IAllocatorMXF
oggetto e passa un puntatore a questo oggetto al metodo IMiniportDMus::NewStream del driver DMus miniport. IAllocatorMXF
eredita dall'interfaccia IMXF .
IAllocatorMXF
è l'interfaccia tramite cui il driver miniport comunica con l'allocatore interno del driver di porta, che alloca e gestisce il riutilizzo di un pool di strutture DMUS_KERNEL_EVENT . Ogni struttura può contenere un evento MIDI con timestamp.
L'allocatore astrae anche l'allocazione della memoria aggiuntiva necessaria per archiviare eventi di grandi dimensioni. Il membro uData di DMUS_KERNEL_EVENT è un'unione che corrisponde alle dimensioni di un puntatore: quattro byte in un sistema a 32 bit e otto byte in un sistema a 64 bit. Se i dati sono sufficientemente piccoli da adattarsi a tale spazio, uData conterrà i dati MIDI effettivi. Se i dati per tale evento sono maggiori del puntatore a 4 o 8 byte, tuttavia, il membro cbEvent indica questo fatto e uData contiene un puntatore a un buffer anziché i dati MIDI effettivi. Questo buffer viene gestito dall'allocatore ed è una dimensione costante per qualsiasi implementazione del driver di porta.
Ereditarietà
L'interfaccia IAllocatorMXF eredita dall'interfaccia IUnknown . IAllocatorMXF include anche questi tipi di membri:
Metodi
L'interfaccia IAllocatorMXF include questi metodi.
IAllocatorMXF::GetBuffer Il metodo GetBuffer alloca un buffer per eventi MIDI lunghi. |
IAllocatorMXF::GetBufferSize Il metodo GetBufferSize ottiene le dimensioni del buffer dall'allocatore. |
IAllocatorMXF::GetMessage Il metodo GetMessage funge da punto di recupero per qualsiasi componente in modalità kernel DirectMusic che utilizza l'allocatore del driver di porta per riutilizzare DMUS_KERNEL_EVENT strutture. |
IAllocatorMXF::P utBuffer Questo metodo non è attualmente utilizzato dal driver miniport. Il metodo PutBuffer passa un buffer all'allocatore, ma questo avviene automaticamente quando IMXF::P utMessage viene comunque chiamato. |
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | dmusicks.h |