Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.



증상

.NET Framework 3.5 서비스 팩 1 (SP1)에서 Windows Presentation Foundation (WPF)를 사용 하 여 그래픽을 렌더링 하는 경우 다음 문제 중 하나가 발생할 수 있습니다-기반 응용 프로그램입니다.


문제 1

WPF 응용 프로그램에서 VisualBrush.Visual 속성의 값을 변경 하면 응용 프로그램이 충돌 합니다.

문제 2

다음 작업 중 하나를 수행할 때 렌더링 스레드에서 WPF 응용 프로그램의 메모리 누수가 발생 합니다.

  • VisualBrush 개체 또는 DrawingBrush 개체를 포함 하는 3 차원 장면 렌더링 소프트웨어 렌더링 파이프라인을 사용 합니다. 예를 들어, 다음 작업 중 하나를 수행할 때 소프트웨어 렌더링 파이프라인 사용 하는.

    • RenderTargetBitmap 클래스를 사용 하 여 장면을 렌더링 합니다.

    • 장면을 인쇄 합니다.

    • 0으로 렌더링 계층 속성을 설정 합니다.

    • 원격 데스크톱 연결을 통해 장면을 렌더링 있습니다.

  • Windows 디스플레이 드라이버 모델 (WDDM)을 사용 하지 않는 컴퓨터에 WriteableBitmap 클래스를 사용 하 여 장면을 렌더링 합니다.

  • WDDM을 사용 하지 않는 컴퓨터에는 바둑판식된 VisualBrush 개체 또는 바둑판식된 DrawingBrush 개체를 사용 하 여 장면을 렌더링 하드웨어 렌더링 파이프라인을 사용 합니다.


문제 3

WPF 응용 프로그램을 사용 하는 다음 작업 중 하나를 수행할 때 windows 충돌을 계층:

  • 대기 모드로 Windows XP 디스플레이 드라이버 모델 (XPDDM)를 사용 하 여 컴퓨터를 대기 모드에서 컴퓨터를 다시 시작한 다음.

  • Windows XP에서 콘솔 전체 화면 모드로 전환 하면

원인

원인 1

스레드에서 작업이 잘못 정렬 되는 경우 일반 오류 렌더링 스레드에서 반환 됩니다이 문제가 발생 합니다. 자식 개체에 null 부모 개체 로부터 분리 하려면 이러한 작업으로 인해.

예를 들어, 시각적 개체 VisualBrush 개체에서 분리 하기 전에 VisualBrush 개체에서 제거 합니다. 그러나 Visual 개체를 제거 하 여 주문할 수 있습니다 하지 제대로. 따라서 시각적 개체에 null 부모 개체 로부터 분리합니다.

원인 2

이 문제는 렌더링 스레드에서 오류가 계산 참조를 인해 발생 합니다.

원인 3

이 문제는 Win32 오류 코드가 잘못 처리 되기 때문에 발생 합니다.

해결 방법

이 문제를 해결 하려면 다음 Microsoft 기술 자료 문서에서 설명 하는 핫픽스 패키지 적용:

2667241 업데이트 롤업은에 Windows Presentation Foundation (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 제품의 문제임을 확인했습니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×