CORRECÇÃO: Você pode ter vários problemas ao processar elementos gráficos usando Windows Presentation Foundation (WPF) em um aplicativo baseado no .NET Framework 3.5 SP1

Traduções deste artigo Traduções deste artigo
ID do artigo: 967634 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Você pode enfrentar um dos seguintes problemas quando processar elementos gráficos usando o Windows Presentation Foundation (WPF) no .NET Framework 3.5 Service Pack 1 (SP1)-aplicativo baseado em.

Problema 1

Quando você alterar o valor da propriedade VisualBrush.Visual em um aplicativo do WPF, o aplicativo falha.

Problema 2

Um vazamento de memória ocorre no thread de processamento de um aplicativo WPF quando você executar uma das seguintes ações:
  • Usar o pipeline de processamento de software para processar uma cena 3D inclui um objeto de VisualBrush ou um objeto DrawingBrush. Por exemplo, você estiver usando o pipeline de processamento de software ao executar uma das seguintes ações:
    • Processar a cena usando a classe RenderTargetBitmap.
    • Imprimir a cena.
    • Defina a propriedade de camada de processamento como 0.
    • Processar a cena em uma conexão de área de trabalho remota.
  • Processar uma cena usando a classe WriteableBitmap em um computador que não use WDDM (Windows Display Driver Model).
  • Usar o pipeline de processamento de hardware para processar uma cena usando um objeto VisualBrush lado a lado ou um objeto DrawingBrush lado a lado em um computador que não use o WDDM.

Problema 3

Aplicativos do WPF que usam camadas pane do windows quando você executar uma das seguintes ações:
  • Colocar um computador que usa o Windows XP Display Driver Model (XPDDM) em espera e retomar o computador do modo de espera.
  • Alterne para o modo de tela inteira console no Windows XP.

Causa

Causa 1

Esse problema ocorre porque um erro genérico é retornado de um thread de render quando as operações no thread são ordenadas incorretamente. Essas operações causam objetos filho desanexar de um objeto pai nula.

Por exemplo, um objeto Visual deve ser removido de um objeto VisualBrush antes de que é desanexado do objeto VisualBrush. No entanto, as operações para remover o objeto Visual podem ser pedidas incorretamente. Portanto, o objeto Visual desconecta de um objeto pai nula.

Causa 2

Esse problema ocorre devido a uma erro no thread de processamento de contagem de referência.

Causa 3

Esse problema ocorre porque um código de erro Win32 é manipulado incorretamente.

Resolução

Informações sobre hotfix

Um hotfix suportado está agora disponível da Microsoft. No entanto, destina-se a corrigir o problema descrito neste artigo. Aplique-o somente nos sistemas que apresentarem esse problema específico. Este hotfix pode receber testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde o próximo service pack que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Microsoft Customer Atendimento para obter o hotfix. Para obter uma lista completa dos números de telefone de suporte Atendimento Microsoft e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação Em casos especiais, as taxas cobradas pelas ligações para o suporte podem ser canceladas se um profissional de suporte da Microsoft determina que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicadas a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

Para baixar esse hotfix do MSDN Code Gallery, visite o seguinte site:
http://code.msdn.microsoft.com/KB967634


Observação MSDN Code Gallery exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma listado, é porque a página de recursos da Galeria de código não está disponível para esse idioma.

Observação Como alternativa, você pode baixar esse pacote cumulativo de hotfix do seguinte site do Microsoft Connect:
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=21986

Pré-requisitos

Você deve ter o Microsoft .NET Framework 3.5 Service Pack 1 (SP1) instalado para aplicar esse hotfix.

Requisitos de reinicialização

Não é necessário reiniciar o computador após aplicar esse hotfix.

Informações sobre a substituição do hotfix

Esse hotfix não substitui outros hotfixes.

Informações de arquivo

A versão em inglês deste hotfix apresenta os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na hora universal coordenada (UTC). Quando você exibir as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use fusos guia na Data e hora item no painel de controle.
Windows XP, x 86 versão
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
PresentationCore.dll3.0.6920.40004,214,78410-Março de 200923: 02x 86
wpfgfx_v0300.dll3.0.6920.40001,736,02410-Março de 200923: 02x 86

Windows XP, x 64 com versão
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
PresentationCore.dll3.0.6920.40003,996,67210-Março de 200922: 33x 64
wpfgfx_v0300.dll3.0.6920.40002,254,16810-Março de 200922: 33x 64

Mais Informações

Saída de pilha
System.InvalidOperationException: An unspecified error occurred on the render thread.
at System.Windows.Media.MediaContext.NotifyPartitionIsZombie(Int32 failureCode)
at System.Windows.Media.MediaContext.NotifyChannelMessage()
at System.Windows.Interop.HwndTarget.HandleMessage(Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

Situação

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicar a".

Propriedades

ID do artigo: 967634 - Última revisão: segunda-feira, 19 de outubro de 2009 - Revisão: 2.1
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 3.5 Service Pack 1
Palavras-chave: 
kbmt kbhotfixserver kbexpertiseadvanced kbqfe kbsurveynew KB967634 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 967634

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