Sintomas
Poderá detectar um dos seguintes problemas quando compor gráficos utilizando a apresentação de Windows 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 de uma aplicação do 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:
-
Utilizar o pipeline de composição de software para compor uma cena 3D que inclua um objecto VisualBrush ou DrawingBrush . Por exemplo, estiver a utilizar o pipeline de composição por software quando efectua uma das seguintes acções:
-
Compor a cena utilizando a classe RenderTargetBitmap .
-
Imprimir a cena.
-
Definir 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 num computador que não utilize o Windows apresentar controlador modelo WDDM ().
-
Utilizar o pipeline de composição de hardware para compor uma cena utilizando um objecto de VisualBrush em mosaico ou um DrawingBrush em mosaico num computador que não utilize o WDDM.
Problema 3
Aplicações de WPF que utilizam em camadas falha de sistema do windows quando efectua uma das seguintes acções:
-
Coloca um computador que utiliza o modelo de controlador do Windows XP apresentação (XPDDM) em modo de suspensão e, em seguida, retirar o computador do modo de suspensão.
-
Mude para o modo de consola de ecrã inteiro 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 do thread estão ordenadas incorrectamente. Estas operações fazer com que os objectos subordinados para se desligar de um objecto principal nula.
Por exemplo, um objecto Visual deve ser removido de um objecto VisualBrush antes de que está desligado do objecto VisualBrush . No entanto, as operações para remover o objecto Visual podem ser encomendadas incorrectamente. Por conseguinte, o objecto Visual separa-se de um objecto principal nula.
Causa 2
Este problema ocorre devido a uma erro no thread da composição de contagem de referência.
Causa 3
Este problema ocorre porque um código de erro Win32 é processado incorrectamente.
Resolução
Para resolver este problema, aplique o pacote de correcção descrita no seguinte artigo da Base de dados de conhecimento da Microsoft:
2667241 Um conjunto de actualizações está disponível para apresentação WPF (Windows Foundation) para Microsoft .NET Framework 3.5
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)
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".