อาการ
คุณอาจพบปัญหาต่อไปนี้อย่างใดอย่างหนึ่งเมื่อคุณแสดงรูปภาพ โดยใช้ Windows นำเสนอพื้นฐาน (WPF) ใน.NET Framework 3.5 Service Pack 1 (SP1) -ใช้แอพลิเคชันได้
ปัญหาที่ 1
เมื่อคุณเปลี่ยนค่าของคุณสมบัติVisualBrush.Visualในโปรแกรมประยุกต์ WPF แอพลิเคชันล้มเหลว
ปัญหาที่ 2
การรั่วไหลของหน่วยความจำเกิดขึ้นในเธรด render ของโปรแกรมประยุกต์ WPF เมื่อคุณดำเนินการหนึ่งในการกระทำดังต่อไปนี้:
-
คุณสามารถใช้ขั้นตอนการแสดงซอฟต์แวร์สามารถแสดงฉากแบบ 3 มิติที่มีวัตถุที่เป็นVisualBrushหรือวัตถุDrawingBrush ตัวอย่างเช่น คุณใช้ไปป์ไลน์แสดงซอฟต์แวร์เมื่อคุณดำเนินการหนึ่งในการกระทำดังต่อไปนี้:
-
คุณสามารถแสดงฉาก โดยใช้คลาสRenderTargetBitmap
-
คุณพิมพ์ฉาก
-
คุณสามารถตั้งค่าคุณสมบัติระดับสีเป็น 0
-
คุณสามารถแสดงฉากบนการเชื่อมต่อเดสก์ท็อประยะไกล
-
-
คุณสามารถแสดงเป็นฉาก โดยใช้คลาสWriteableBitmapบนคอมพิวเตอร์ที่ไม่ได้ใช้ Windows แสดงโปรแกรมควบคุมรุ่น (WDDM)
-
คุณสามารถใช้ขั้นตอนการจำลองภาพของฮาร์ดแวร์สามารถแสดงฉากแบบ โดยใช้วัตถุVisualBrushแบบกระเบื้องหรือวัตถุDrawingBrushกระเบื้องบนคอมพิวเตอร์ที่ใช้ WDDM
ปัญหาที่ 3
โปรแกรมประยุกต์ WPF ที่ใช้ชั้นความล้มเหลวของ windows เมื่อคุณดำเนินการหนึ่งในการกระทำดังต่อไปนี้:
-
คุณทำให้คอมพิวเตอร์ที่ใช้ใน Windows XP แสดงโปรแกรมควบคุมรุ่น (XPDDM) เข้าไปในโหมดสแตนด์บาย และจากนั้น คุณดำเนินต่อคอมพิวเตอร์จากสถานะสแตนด์บาย
-
คุณสลับไปยังโหมดเต็มหน้าจอคอนโซลใน Windows XP
สาเหตุ
สาเหตุที่ 1
ปัญหานี้เกิดขึ้นเนื่องจากมีข้อผิดพลาดทั่วไปจะถูกส่งกลับจากเธรด render เมื่อมีสั่งการดำเนินงานในเธรดไม่ถูกต้อง การดำเนินการเหล่านี้ทำให้วัตถุลูกจะแยกออกจากวัตถุแม่ที่เป็น null
ตัวอย่างเช่น วัตถุรูปภาพออกจากวัตถุที่เป็นVisualBrushก่อนที่จะถูกแยกออกจากวัตถุVisualBrush อย่างไรก็ตาม การดำเนินการเอาวัตถุมองเห็นอาจถูกสั่งไม่ถูกต้อง ดังนั้น วัตถุภาพถอดจากวัตถุแม่ที่เป็น null
สาเหตุที่ 2
ปัญหานี้เกิดขึ้นเนื่องจาก มีข้อผิดพลาดในเธรด render การตรวจนับอ้างอิง
สาเหตุที่ 3
ปัญหานี้เกิดขึ้นเนื่องจากรหัสข้อผิดพลาด Win32 ถูกจัดการอย่างไม่ถูกต้อง
การแก้ปัญหา
เมื่อต้องการแก้ไขปัญหานี้ ใช้แพคเกจโปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความฐานความรู้ของ Microsoft ต่อไปนี้:
2667241 ค่าสะสมของการปรับปรุงจะพร้อมใช้งานสำหรับ Windows นำเสนอพื้นฐาน (WPF) สำหรับ Microsoft .NET Framework 3.5
ข้อมูลเพิ่มเติม
สแตกเอาต์พุต
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)
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"