Interface IAllocatorMXF (dmusicks.h)
A IAllocatorMXF
interface gerencia o armazenamento de buffer para fluxos DirectMusic. O driver de porta DMus implementa essa interface e a expõe ao driver de miniporto DMus. O driver de porta DMus cria um IAllocatorMXF
objeto e passa um ponteiro para esse objeto para o método IMiniportDMus::NewStream do driver de miniporto DMus. IAllocatorMXF
herda da interface IMXF .
IAllocatorMXF
é a interface pela qual o driver de miniporto se comunica com o alocador interno do driver de porta, que aloca e gerencia a reutilização de um pool de estruturas DMUS_KERNEL_EVENT . Cada estrutura pode conter um evento MIDI com carimbo de data/hora.
O alocador também abstrai a alocação da memória adicional necessária para armazenar eventos grandes. O membro uData do DMUS_KERNEL_EVENT é uma união do tamanho de um ponteiro: quatro bytes em um sistema de 32 bits e oito bytes em um sistema de 64 bits. Se os dados forem pequenos o suficiente para caber nesse espaço, uData conterá os dados MIDI reais. Se os dados desse evento forem maiores que o ponteiro de 4 ou 8 bytes, no entanto, o membro cbEvent indicará esse fato e uData conterá um ponteiro para um buffer em vez dos dados MIDI reais. Esse buffer é gerenciado pelo alocador e é um tamanho constante para qualquer implementação de driver de porta.
Herança
A interface IAllocatorMXF herda da interface IUnknown . IAllocatorMXF também tem esses tipos de membros:
Métodos
A interface IAllocatorMXF tem esses métodos.
IAllocatorMXF::GetBuffer O método GetBuffer aloca um buffer para eventos MIDI longos. |
IAllocatorMXF::GetBufferSize O método GetBufferSize obtém o tamanho do buffer do alocador. |
IAllocatorMXF::GetMessage O método GetMessage serve como o ponto de recuperação para qualquer componente do modo kernel DirectMusic que utiliza o alocador do driver de porta para reutilizar estruturas DMUS_KERNEL_EVENT. |
IAllocatorMXF::P utBuffer Esse método não é usado atualmente pelo driver de miniporte. O método PutBuffer passa um buffer para o alocador, mas isso ocorre automaticamente quando IMXF::P utMessage é chamado de qualquer maneira. |
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | dmusicks.h |