Função KsMergeAutomationTables (ks.h)
A função KsMergeAutomationTables mescla duas tabelas de automação.
Sintaxe
KSDDKAPI NTSTATUS KsMergeAutomationTables(
[out] PKSAUTOMATION_TABLE *AutomationTableAB,
[in, optional] PKSAUTOMATION_TABLE AutomationTableA,
[in, optional] PKSAUTOMATION_TABLE AutomationTableB,
[in, optional] KSOBJECT_BAG Bag
);
Parâmetros
[out] AutomationTableAB
Um ponteiro para o local em que um ponteiro para um KSAUTOMATION_TABLE é depositado. Essa estrutura é a tabela de automação mesclada resultante.
[in, optional] AutomationTableA
Um ponteiro para uma estrutura KSAUTOMATION_TABLE que representa a primeira das duas tabelas de automação a serem mescladas. Esta tabela é a tabela dominante em relação a entradas duplicadas. Se NULL, AutomationTableB será copiado para AutomationTableAB e, opcionalmente, colocado em Bag.
[in, optional] AutomationTableB
Um ponteiro para uma estrutura KSAUTOMATION_TABLE que representa a segunda das duas tabelas de automação a serem mescladas. Se NULL, AutomationTableA será copiado para AutomationTableAB e, opcionalmente, colocado em Bag.
[in, optional] Bag
A tabela de automação recém-criada é colocada neste KSOBJECT_BAG (equivalente ao tipo PVOID) para limpo posteriores. Esse parâmetro é opcional.
Retornar valor
KsMergeAutomationTables retornará STATUS_SUCCESS se a mesclagem for concluída com êxito. Se não tiver êxito, ele retornará um código de erro. O código de erro mais frequente é STATUS_INSUFFICIENT_RESOURCES, o que indica que não há recursos suficientes do sistema para concluir a mesclagem.
Comentários
Se AutomationTableA e AutomationTableB forem NULL, essa rotina não executará nenhuma ação e retornará STATUS_SUCCESS.
As entradas em AutomationTableA têm prioridade na mesclagem. Se houver uma entrada que apareça em AutomationTableA e AutomationTableB, a entrada em AutomationTableA será a que é colocada na tabela mesclada. A tabela de automação recém-criada será colocada no recipiente de objetos solicitado se um for fornecido.
Se uma tabela de entrada estiver em um recipiente de objetos no momento da chamada, o AVStream removerá a tabela do recipiente de objetos antes que KsMergeAutomationTables retorne.
Se o parâmetro Bag não for NULL, o minidriver deverá usar o mutex associado ao recipiente de objetos antes de chamar essa rotina. Se o recipiente estiver associado a um pino ou um filtro, o mutex de controle deverá ser mantido. Se o recipiente estiver associado a uma fábrica de filtros ou um dispositivo, o mutex do dispositivo deverá ser mantido. Para obter mais informações, confira Mutexes no AVStream.
Consulte também Sacos de Objetos e Definindo Tabelas de Automação.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX. |
Plataforma de Destino | Universal |
Cabeçalho | ks.h (inclua Ks.h) |
Biblioteca | Ks.lib |
IRQL | PASSIVE_LEVEL |