CORRECÇÃO: Poderá detectar vários problemas quando compor gráficos utilizando o Windows Presentation Foundation (WPF) de uma aplicação baseada no .NET Framework 3.5 SP1

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

Nesta página

Sintomas

Poderá detectar um dos seguintes problemas quando compor gráficos utilizando o Windows Presentation Foundation (WPF) no .NET Framework 3.5 Service Pack 1 (SP1)-aplicação baseada em.

Problema 1

Quando alterar o valor da propriedade VisualBrush.Visual numa aplicação WPF, a aplicação falha.

Problema 2

Ocorre uma fuga de memória no thread da composição de uma aplicação de WPF quando efectua uma das seguintes acções:
  • Pode utilizar a tubagem de composição de software para compor uma cena 3D que inclui um objecto de VisualBrush ou um objecto de DrawingBrush. Por exemplo, estiver a utilizar a tubagem composição por software quando efectuar uma das seguintes acções:
    • Compor a cena utilizando a classe RenderTargetBitmap.
    • Imprimir a cena.
    • Defina a propriedade de camada de composição para 0.
    • Compor a cena através de uma ligação de ambiente de trabalho remota.
  • Compor uma cena, utilizando a classe WriteableBitmap um computador que não utilize o Windows apresentar controlador modelo (WDDM).
  • Pode utilizar a tubagem de composição de hardware para compor uma cena utilizando um objecto de VisualBrush em mosaico ou um objecto de DrawingBrush em mosaico num computador que não utilize o WDDM.

Problema 3

WPF aplicações que utilizam camadas falha de sistema do windows quando efectua uma das seguintes acções:
  • Colocar um computador que utiliza o Windows XP Mostrar Driver Model (XPDDM) em modo de suspensão e, em seguida, retomar o computador a partir do modo de suspensão.
  • Mudar para o modo de ecrã inteiro consola no Windows XP.

Causa

Causa 1

Este problema ocorre porque é devolvido um erro genérico de um thread de composição quando as operações no thread estão ordenadas incorrectamente. Estas operações causar objectos subordinados desanexar a partir de um objecto principal nula.

Por exemplo, um objecto Visual tem ser removido de um objecto de VisualBrush antes de que é desligado do objecto VisualBrush. No entanto, as operações para remover o objecto Visual podem ser encomendadas incorrectamente. Por conseguinte, o objecto Visual remove a partir de um objecto principal nula.

Causa 2

Este problema ocorre devido a uma referência de erro no thread da composição de contagem.

Causa 3

Este problema ocorre porque um código de erro Win32 é processado incorrectamente.

Resolução

Informações sobre correcções

Uma correcção suportada está agora disponível da Microsoft. Contudo, destina-se a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack que contenha esta correcção.

Para resolver este problema imediatamente, contate o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a perguntas de suporte adicionais e problemas que não se enquadrem na atualização específica em questão.

Para transferir esta correcção a partir da Galeria de código MSDN, visite o seguinte site da Microsoft:
http://code.msdn.microsoft.com/KB967634


Nota A Galeria de código MSDN apresenta os idiomas para o qual a correcção está disponível. Se não vir o idioma listado, é porque a página de recurso de código Gallery não está disponível para esse idioma.

Nota Em alternativa, pode transferir este conjunto de correcções a partir do seguinte ligação Web site Microsoft:
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=21986

Pré-requisitos

Tem de ter o Microsoft .NET Framework 3.5 Service Pack 1 (SP1) instalado para aplicar esta correcção.

Requisito de reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras correcções.

Informações do ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualizar as informações de ficheiro, é convertido para a hora local. Para localizar a diferença entre a UTC e a hora local, utilize o fuso horário separador na data e hora item do painel de controlo.
Windows XP, x versão baseada em 86
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
presentationcore.dll3.0.6920.40004,214,78410-Mar-200923: 02x 86
wpfgfx_v0300.dll3.0.6920.40001,736,02410-Mar-200923: 02x 86

Windows XP, x versão baseada em 64
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
presentationcore.dll3.0.6920.40003,996,67210-Mar-200922: 33x 64
wpfgfx_v0300.dll3.0.6920.40002,254,16810-Mar-200922: 33x 64

Mais Informação

Pilha de saída
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)

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Propriedades

Artigo: 967634 - Última revisão: 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 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: 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