Symptomen
U een van de volgende problemen kan optreden wanneer u afbeeldingen renderen met behulp van Windows Presentation Foundation (WPF) in een .NET Framework 3.5 Service Pack 1 (SP1)-toepassing.
Probleem 1
Als u de waarde van de eigenschap VisualBrush.Visual in een WPF toepassing wijzigt, wordt de toepassing loopt vast.
Probleem 2
Er treedt een geheugenlek op in de thread render van een WPF toepassing wanneer u een van de volgende acties uitvoeren:
-
Met de softwarematige beeldopbouw pijplijn kunt u een 3D-scène met een VisualBrush of een DrawingBrush -object worden weergegeven. U gebruikt bijvoorbeeld de softwarematige beeldopbouw pijplijn wanneer u een van de volgende acties uitvoeren:
-
U kunt de scène renderen met behulp van de klasse RenderTargetBitmap .
-
Afdrukken van de scène.
-
U kunt de eigenschap rendering laag ingesteld op 0.
-
U kunt de scène renderen via een verbinding met extern bureaublad.
-
-
U renderen een scène met behulp van de klasse WriteableBitmap op een computer waarop Windows Display Driver Model (WDDM) wordt niet gebruikt.
-
De hardwarematige beeldopbouw pijplijn kunt u een scène met behulp van een naast elkaar geplaatste VisualBrush - of naast elkaar geplaatste DrawingBrush object op een computer die geen van de WDDM gebruikmaakt renderen.
Probleem 3
WPF toepassingen die gebruikmaken van gelaagde windows vastloopt wanneer u een van de volgende acties uitvoeren:
-
U een computer met Windows XP weergegeven stuurprogramma Model (XPDDM) in stand-by zetten en vervolgens de computer terugkeert uit stand-by.
-
U overschakelen naar de consolemodus volledig scherm in Windows XP.
Oorzaak
Oorzaak 1
Dit probleem treedt op omdat een algemene fout van een thread render wordt geretourneerd wanneer de bewerkingen in de thread worden onjuist gesorteerd. Deze bewerkingen tot gevolg hebben dat de onderliggende objecten die u wilt loskoppelen van een leeg bovenliggend object.
Bijvoorbeeld, moet een visueel object uit een object VisualBrush worden verwijderd voordat deze wordt losgekoppeld van het object VisualBrush . De bewerkingen visueel object verwijderen kunnen echter niet goed worden besteld. Daarom ontkoppelen visueel object van een leeg bovenliggend object
Oorzaak 2
Dit probleem treedt op vanwege een fout in de thread render tellen verwijzing.
Oorzaak 3
Dit probleem treedt op omdat de Win32-foutcode niet juist wordt uitgevoerd.
Oplossing
Dit probleem oplossen door het hotfix-pakket dat wordt beschreven in het volgende Microsoft Knowledge Base-artikel van toepassing:
2667241 Er is een updatepakket beschikbaar voor Windows Presentation Foundation (WPF) voor Microsoft.NET Framework 3.5
Meer informatie
Stackuitvoer
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)
Status
Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.