Compartilhar via


Interface IGraphConfig (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O Gerenciador de Grafo de Filtro expõe IGraphConfig para dar suporte à criação dinâmica de grafo. Essa interface permite que aplicativos e filtros reconfigurem o grafo de filtro enquanto o grafo está em um estado de execução e sem perder dados do fluxo.

A maneira mais simples de recompilar o grafo dinamicamente é chamar o método IGraphConfig::Reconnect . Esse método lida com a maioria dos detalhes da recompilação dinâmica do grafo. Se alguma vez surgir uma situação em que você queira implementar sua própria técnica, IGraphConfig também fornecerá o método IGraphConfig::Reconfigure . Esse método obtém um bloqueio no grafo de filtro e, em seguida, chama uma função de retorno de chamada em seu aplicativo, que reconfigura o grafo. Com esse método, a maior parte do trabalho é deslocada para seu aplicativo. Para obter mais informações, consulte Dynamic Graph Building.

Para otimizar o processo de adição e remoção de filtros, o grafo de filtro mantém um cache de filtros. Durante uma chamada para o método Reconnect , você pode especificar que todos os filtros removidos do grafo sejam adicionados ao cache. Você também pode adicionar um filtro diretamente ao cache, se souber que ele provavelmente será necessário, chamando IGraphConfig::AddFilterToCache. Os métodos IGraphBuilder::Render, IGraphBuilder::RenderFile e IGraphBuilder::Connect tentam usar filtros automaticamente no cache antes de usar outros filtros. Além disso, no método Reconnect , você pode especificar que somente filtros armazenados em cache serão usados para a reconexão. Observe que os filtros mantidos no cache não fazem parte do grafo. Eles são desconectados de qualquer pino e são mantidos em um estado parado.

Herança

A interface IGraphConfig herda da interface IUnknown . IGraphConfig também tem estes tipos de membros:

Métodos

A interface IGraphConfig tem esses métodos.

 
IGraphConfig::AddFilterToCache

O método AddFilterToCache adiciona um filtro ao cache de filtro.
IGraphConfig::EnumCacheFilter

O método EnumCacheFilter enumera os filtros no cache de filtro.
IGraphConfig::GetFilterFlags

O método GetFilterFlags recupera as informações de configuração de um filtro.
IGraphConfig::GetStartTime

O método GetStartTime recupera o tempo de referência que foi usado quando o grafo de filtro foi colocado pela última vez em um estado em execução.
IGraphConfig::P ushThroughData

O método PushThroughData envia dados por push pelo grafo de filtro para o pin especificado.
IGraphConfig::Reconfigure

O método Reconfigure bloqueia o grafo de filtro e chama uma função de retorno de chamada no aplicativo ou filtro para executar uma reconfiguração dinâmica.
IGraphConfig::Reconnect

O método Reconnect executa uma reconexão dinâmica entre dois pinos.
IGraphConfig::RemoveFilterEx

O método RemoveFilterEx remove um filtro do grafo de filtro.
IGraphConfig::RemoveFilterFromCache

O método RemoveFilterFromCache remove um filtro do cache de filtro.
IGraphConfig::SetFilterFlags

O método SetFilterFlags define as informações de configuração de um filtro.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)