Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um Alocador é um objeto KS que instancia buffers de dados, chamados frames, para solicitações de E/S. Um quadro é um pedaço de memória contínua, do qual o tamanho é especificado pelo fornecedor por meio do membro AllocatorFraming do KSPIN_DESCRIPTOR_EX.
Os minidrivers podem dar suporte a alocadores para vários tipos de buffer, por exemplo, RAM interna em uma placa gráfica. 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 . Essa estrutura contém parâmetros que descrevem o alocador solicitado.
No modelo de classe de fluxo, os minidrivers que criam alocadores dão suporte à propriedade KSPROPERTY_CONNECTION_ALLOCATORFRAMING . Essa é uma solicitação somente leitura que retorna um ponteiro para a estrutura KSALLOCATOR_FRAMING relevante para a alça do coletor especificado.
Os minidrivers que fornecem alocadores também devem dar suporte à propriedade KSPROPERTY_STREAM_ALLOCATOR. Essa propriedade fornece acesso de leitura/gravação ao identificador do alocador atualmente atribuído ao ponto de conexão de fluxo de dados.
Minidrivers em execução no AVStream podem incluir pins que implementam seus próprios alocadores. Faça isso definindo o membro KSALLOCATOR_DISPATCH da estrutura KSPIN_DISPATCH . Especifique NULL para este membro se você não quiser especificar um alocador para esse pin.
Além disso, os minidrivers AVStream usam a estrutura KSALLOCATOR_FRAMING_EX para especificar os requisitos do alocador. Em seguida, os clientes utilizam a propriedade KSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX para recuperar os requisitos de enquadramento de um pin. Consulte alocadores AVStream para obter mais informações.
Esta seção contém as seguintes informações adicionais: