Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um alocador é um objeto KS que instancia buffers de dados chamados quadros para solicitações de E/S. Um quadro é um pedaço de memória contínua, cujo tamanho é especificado pelo fornecedor através do membro AllocatorFraming do KSPIN_DESCRIPTOR_EX.
Os minidrivers podem suportar alocadores para vários tipos de buffer, por exemplo, RAM integrada em uma placa de vídeo. No entanto, a maioria dos minidrivers usa o alocador padrão para alocar memória do sistema. Os minidrivers podem especificar o tamanho do quadro, o número máximo de quadros e os requisitos de alinhamento. O alocador padrão cuida de atender aos requisitos e pode otimizar o desempenho reutilizando quadros descartados.
Um minidriver cria um alocador chamando a rotina KsCreateAllocator ou funções relacionadas. Nesta chamada, o minidriver passa um ponteiro para uma estrutura KSALLOCATOR_FRAMING . Esta estrutura contém parâmetros que descrevem o alocador solicitado.
No modelo de classe de fluxo, minidrivers que criam alocadores suportam a propriedade KSPROPERTY_CONNECTION_ALLOCATORFRAMING . Esta é uma solicitação somente leitura que retorna um ponteiro para a estrutura de KSALLOCATOR_FRAMING relevante para a alça de coletor especificada.
Minidrivers que fornecem alocadores deverão também suportar a propriedade KSPROPERTY_STREAM_ALLOCATOR. Esta propriedade fornece acesso de leitura/gravação ao identificador do alocador atualmente atribuído ao ponto de conexão de fluxo.
Os minidrivers executados sob AVStream podem incluir pinos que implementam seus próprios alocadores. Faça isso definindo o membro KSALLOCATOR_DISPATCH da estrutura KSPIN_DISPATCH . Especifique NULL para este membro se não quiser especificar um alocador para este pino.
Além disso, os minidrivers AVStream utilizam a estrutura KSALLOCATOR_FRAMING_EX para especificar os requisitos do alocador. Em seguida, os clientes usam a propriedade KSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX para recuperar os requisitos de enquadramento de um pino. Consulte AVStream Allocators para obter mais informações.
Esta secção contém as seguintes informações adicionais: