Filtro do DirectShow não estabelecer ligação com o filtro a jusante em 8 de Windows e Windows 7 SP1 com 2670838 da KB

Traduções de Artigos Traduções de Artigos
Artigo: 2841589 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Está a utilizar um filtro do DirectShow não liga a um filtro a jusante em 8 de Windows e Windows 7 SP1 após a instalação do 2670838 da KB.  Antes de instalar o 2670838 da KB este problema não tivesse ocorrido no Windows 7. o SP1.
  • Ao chamar oCBasePin.ReceiveConnection função do valor devolvido é VFW_E_INVALIDMEDIATYPE (0x80040200)

Causa

Foram adicionados novos controlos para tipos de multimédia de vídeo para a classe base do DirectShow no Windows 8.  Estas verificações podem rejeitar os tipos de multimédia incorrectas ou desconhecido. Estas verificações são adicionadas para proteger os sistemas contra sobrecargas da memória intermédia e procura de sobrecarregarão de memória intermédia.

KB 2670838 para o Windows 7 SP1 actualiza o subsistema do DirectShow com as alterações.

Resolução

Seguem-se recomendações que podem ajudar a garantir o que seu código transmite as verificações de segurança nova:

  • Verifique se AM_MEDIA_TYPE estrutura para valores inválidos. Esta estrutura descreve o formato de uma amostra de suportes de dados.
  • Ao chamar CMediaType.AllocFormatBuffer ao atribuir memória para o bloco de formato, certifique-se de que está a transmitir o tamanho correcto necessário para o bloco de formato.

    Tenha em atenção: este método actualiza o cbFormat e pbFormat os membros da AM_MEDIA_TYPE estrutura.
  • Verifique se a estrutura BITMAPINFOHEADER para valores inválidos
    • Certifique-se biSize é igual a sizeof(BITMAPINFOHEADER)
    • Verifique se biSizeImage valor inválido (ou seja, > 0x40000000)
    • Verifique se biClrUsed valor inválido (ou seja, > 256)

Mais Informação

Passos para reproduzir o problema utilizando GraphEdit:

GraphEdit está disponível no Microsoft Windows Software Development Kit (SDK) (http://go.microsoft.com/fwlink/p/?LinkId=62332).

Passo 1. Vá para a pasta Bin do SDK do Windows e execute graphedt.exe.

o passo 2. No menu gráfico , clique em Inserir filtros. Aparece uma caixa de diálogo com uma lista de filtros no seu sistema, organizados por categoria de filtro.

o passo 3. Localize o filtro sob a categoria adequada (normalmente encontrados em Filtros DirectShow categoria) e clique no botão Inserir filtro . Se o filtro não é, em seguida um filtro de origem, certifique-se ter adicionado o filtro de origem necessária para o mesmo.

o passo 4. Inserir o filtro necessário a jusante.

o passo 5. Depois de ter adicionado os filtros, pode ligar dois filtros arrastando o rato do pino de saída de um filtro para o pino de entrada de outro filtro. Se os pinos aceitam a ligação, o GraphEdit desenha uma seta ligá-las. Tente o seguinte para o filtro com o filtro a jusante. Verá-
  • Pino de entrada e o pino de saída irão ligar sem erro no Windows 7. o SP1.
  • GraphEdit irá mostrar mensagem de erro, em 8 de Windows e Windows 7 SP1 com 2670838 da KB instalado.
Termos utilizados neste artigo:

Sobrecarga da memória intermédia:

Uma sobrecarga da memória intermédia ocorre quando se tenta ajustar mais dados numa memória intermédia da que foi atribuído. Uma sobrecarga da memória intermédia pode ser utilizada para executar código mal intencionado num sistema.

Transbordos nas memórias intermédias:

Sobrecarga de memória intermédia A essencialmente é causada, tratando a entrada não verificada, externa como dados fidedignos. O acto de copiar dados, utilizando as operações de CopyMemory, strcat, strcpy ou wcscpy, pode criar resultados imprevistos, que permite a danos no sistema.

Hiperligações relacionadas:

Método de CBasePin.ReceiveConnection

aspx http://msdn.microsoft.com/en-us/library/Windows/Desktop/dd368737 (v=vs.85)

Classe CMediaType
aspx http://msdn.microsoft.com/en-us/library/Windows/Desktop/dd374727 (v=vs.85)

Método de CMediaType.AllocFormatBuffer
aspx http://msdn.microsoft.com/en-us/library/Windows/Desktop/dd374728 (v=vs.85)

Estrutura AM_MEDIA_TYPE
aspx http://msdn.microsoft.com/en-us/library/Windows/Desktop/dd373477 (v=vs.85)

Estrutura BITMAPINFOHEADER
aspx http://msdn.microsoft.com/en-us/library/Windows/Desktop/dd183376 (v=vs.85)

Utilizar GraphEdit
aspx http://msdn.microsoft.com/en-us/library/Windows/Desktop/dd407274 (v=vs.85)

Propriedades

Artigo: 2841589 - Última revisão: 24 de abril de 2013 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Windows 8
  • Windows 8 Enterprise
  • Windows 8 Pro
  • Windows 7 Enterprise
  • Windows 7 Ultimate
  • Windows 7 Professional
  • Windows 7 Home Premium
  • Windows 7 Home Basic
  • Windows 7 Service Pack 1
Palavras-chave: 
kbmt KB2841589 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2841589

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com