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.
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no 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 Microsoft DirectShow é baseado no COM (Component Object Model). Se você escrever seu próprio filtro, deverá implementá-lo como um objeto COM. As classes base DirectShow fornecem uma estrutura a partir da qual fazer isso. O uso das classes base não é necessário, mas pode simplificar o processo de desenvolvimento. Este artigo descreve alguns dos detalhes internos de objetos COM e sua implementação nas classes base DirectShow.
Este artigo pressupõe que você saiba como programar aplicativos cliente COM — em outras palavras, que você entenda os métodos em IUnknown—, mas não pressupõe nenhuma experiência anterior no desenvolvimento de objetos COM. O DirectShow lida com muitos dos detalhes do desenvolvimento de um objeto COM. Se você tiver experiência no desenvolvimento de objetos COM, leia a seção Usando CUnknown, que descreve o CUnknown classe base.
COM é uma especificação, não uma implementação. Define as regras que um componente deve seguir; colocar essas regras em vigor é deixado para o desenvolvedor. No DirectShow, todos os objetos derivam de um conjunto de classes base C++. Os construtores e métodos da classe base realizam a maior parte do trabalho de "bookkeeping" do COM, como manter uma contagem de referência consistente. Ao derivar seu filtro de uma classe base, você herda a funcionalidade da classe. Para usar classes base de forma eficaz, você precisa de uma compreensão geral de como elas implementam a especificação COM.
Este artigo contém os seguintes tópicos.
Tópicos relacionados