Symptomer
Overvej følgende scenarie:
-
Du kører et Microsoft .NET Framework 3.5 Service Pack 1 (SP1)-baseret WPF-program (Windows Presentation Foundation).
-
WPF-programmet bruger pipelinen til hardwaregengivelse.
-
Programmet indlæser og fjerner mange programdomæner, der indeholder en eller flere brugerdefinerede WPF-tilføjelsesprogramkomponenter.
I dette scenarie støder programmet på en System.Runtime.InteropServices.COMException-undtagelse, og derefter går programmet ned.
Løsning
Oplysninger om hotfix
Et understøttet hotfix er tilgængeligt fra Microsoft. Dette hotfix er dog kun beregnet til at rette det problem, der er beskrevet i denne artikel. Anvend kun dette hotfix på systemer, der oplever dette specifikke problem. Dette hotfix kan blive testet yderligere. Hvis du ikke er alvorligt berørt af dette problem, anbefaler vi derfor, at du venter på den næste softwareopdatering, der indeholder dette hotfix.
Hvis du vil downloade dette hotfix fra MSDN Code Gallery, skal du besøge følgende Microsoft-websted:http://code.msdn.microsoft.com/KB2276690Bemærk! MSDN Code Gallery viser de sprog, som hotfixet er tilgængeligt for. Hvis du ikke kan se dit sprog på listen, skyldes det, at ressourcesiden i Kodegalleri ikke er tilgængelig for det pågældende sprog. Bemærk! Hvis der opstår yderligere problemer, eller hvis der kræves fejlfinding, skal du muligvis oprette en separat serviceanmodning. De sædvanlige supportomkostninger gælder for yderligere supportspørgsmål og -problemer, der ikke er berettiget til dette specifikke hotfix. Du kan finde en komplet liste over telefonnumre til Microsofts kundeservice og support eller oprette en separat serviceanmodning på følgende Microsoft-websted:
http://support.microsoft.com/contactus/?ws=support
Forudsætninger
Hvis du vil anvende dette hotfix, skal du have .NET Framework 3.5 Service Pack 1 (SP1) installeret.
Krav om genstart
Du behøver ikke at genstarte computeren, når du har installeret dette hotfix.
Oplysninger om hotfixerstatning
Dette hotfix erstatter ikke andre hotfixs.
Filoplysninger
Den engelske version af dette hotfix har de filattributter (eller nyere filattributter), der er angivet i følgende tabel. Datoerne og klokkeslættene for disse filer er angivet i Coordinated Universal Time (UTC). Når du får vist filoplysningerne, konverteres de til lokal tid. Du kan finde forskellen mellem UTC og lokal tid ved at bruge fanen Tidszone i elementet Dato og klokkeslæt i Kontrolpanel.
For alle understøttede x86-baserede versioner af Windows Server 2003 og Windows XP
Filnavn |
Filversion |
Filstørrelse |
Dato |
Tidspunkt |
Perron |
---|---|---|---|---|---|
Presentationcore.dll |
3.0.6920.4033 |
4,218,880 |
02-Sep-2010 |
01:32 |
x86 |
Presentationframework.dll |
3.0.6920.4033 |
5,279,744 |
02-Sep-2010 |
01:28 |
x86 |
Presentationhost.exe |
4.0.40305.0 |
295,264 |
02-Sep-2010 |
01:28 |
x86 |
Presentationhostdll.dll |
3.0.6920.4033 |
130,408 |
02-Sep-2010 |
01:32 |
x86 |
Presentationhostproxy.dll |
4.0.31106.0 |
99,176 |
02-Sep-2010 |
01:32 |
x86 |
Windowsbase.dll |
3.0.6920.4033 |
1,249,280 |
02-Sep-2010 |
01:32 |
x86 |
For alle understøttede x64-baserede versioner af Windows Server 2003 og Windows XP
Filnavn |
Filversion |
Filstørrelse |
Dato |
Tidspunkt |
Perron |
---|---|---|---|---|---|
Presentationcore.dll |
3.0.6920.4033 |
3,997,696 |
02-Sep-2010 |
00:53 |
x64 |
Presentationframework.dll |
3.0.6920.4033 |
4,636,672 |
02-Sep-2010 |
00:48 |
x64 |
Presentationhost.exe |
4.0.31106.0 |
320,352 |
02-Sep-2010 |
00:48 |
x64 |
Presentationhostdll.dll |
3.0.6920.4033 |
171,368 |
02-Sep-2010 |
00:53 |
x64 |
Presentationhostproxy.dll |
4.0.31106.0 |
109,928 |
02-Sep-2010 |
00:53 |
x64 |
Windowsbase.dll |
3.0.6920.4033 |
1,110,016 |
02-Sep-2010 |
00:53 |
x64 |
Alle understøttede x86-baserede versioner af Windows Vista Service Pack 2 (SP2) og Windows Server 2008 Service Pack 2 (SP2)
Filnavn |
Filversion |
Filstørrelse |
Dato |
Tidspunkt |
Perron |
---|---|---|---|---|---|
Presentationcore.dll |
3.0.6920.4033 |
4,218,880 |
09-2010-2010 |
10:52 |
x86 |
Presentationfontcache.exe.config |
Ikke relevant |
161 |
03-Apr-2009 |
21:25 |
Ikke relevant |
Wpfgfx_v0300.dll |
3.0.6920.4003 |
1,736,024 |
17. juni 2009 |
08:03 |
x86 |
Presentationframework.dll |
3.0.6920.4033 |
5,279,744 |
09-2010-2010 |
10:52 |
x86 |
Presentationhostdll.dll |
3.0.6920.4033 |
130,408 |
09-2010-2010 |
10:52 |
x86 |
Windowsbase.dll |
3.0.6920.4033 |
1,249,280 |
09-2010-2010 |
10:52 |
x86 |
For alle understøttede x64-baserede versioner af Windows Vista SP2 og Windows Server 2008 SP2
Filnavn |
Filversion |
Filstørrelse |
Dato |
Tidspunkt |
Perron |
---|---|---|---|---|---|
Presentationcore.dll |
3.0.6920.4033 |
3,997,696 |
09-2010-2010 |
10:52 |
x64 |
Presentationfontcache.exe.config |
Ikke relevant |
161 |
03-Apr-2009 |
20:58 |
Ikke relevant |
Wpfgfx_v0300.dll |
3.0.6920.4003 |
2,254,168 |
17. juni 2009 |
08:03 |
x64 |
Presentationframework.dll |
3.0.6920.4033 |
4,636,672 |
09-2010-2010 |
10:52 |
x64 |
Presentationhostdll.dll |
3.0.6920.4033 |
171,368 |
09-2010-2010 |
10:52 |
x64 |
Windowsbase.dll |
3.0.6920.4033 |
1,110,016 |
09-2010-2010 |
10:52 |
x64 |
For alle understøttede x86-baserede versioner af Windows 7
Filnavn |
Filversion |
Filstørrelse |
Dato |
Tidspunkt |
Perron |
---|---|---|---|---|---|
Presentationcore.dll |
3.0.6920.5012 |
4,218,880 |
11. sep. 2010 |
01:29 |
x86 |
Presentationfontcache.exe.config |
Ikke relevant |
161 |
10. juni 2009 |
21:14 |
Ikke relevant |
Wpfgfx_v0300.dll |
3.0.6920.4902 |
1,736,536 |
10. juni 2009 |
21:14 |
x86 |
Presentationframework.dll |
3.0.6920.5012 |
5,279,744 |
11. sep. 2010 |
01:29 |
x86 |
Presentationhostdll.dll |
3.0.6920.5012 |
130,408 |
11. sep. 2010 |
01:29 |
x86 |
Presentationhost.exe |
4.0.31106.0 |
295,264 |
11. sep. 2010 |
01:29 |
x86 |
Presentationhostproxy.dll |
4.0.31106.0 |
99,176 |
11. sep. 2010 |
01:29 |
x86 |
Windowsbase.dll |
3.0.6920.5012 |
1,253,376 |
11. sep. 2010 |
01:29 |
x86 |
For alle understøttede x64-baserede versioner af Windows 7 og Windows Server 2008 R2
Filnavn |
Filversion |
Filstørrelse |
Dato |
Tidspunkt |
Perron |
---|---|---|---|---|---|
Presentationcore.dll |
3.0.6920.5012 |
3,997,696 |
11. sep. 2010 |
01:28 |
x64 |
Presentationfontcache.exe.config |
Ikke relevant |
161 |
10. juni 2009 |
20:30 |
Ikke relevant |
Wpfgfx_v0300.dll |
3.0.6920.4902 |
2,255,176 |
10. juni 2009 |
20:30 |
x64 |
Presentationframework.dll |
3.0.6920.5012 |
4,636,672 |
11. sep. 2010 |
01:28 |
x64 |
Presentationhostdll.dll |
3.0.6920.5012 |
171,368 |
11. sep. 2010 |
01:28 |
x64 |
Presentationhost.exe |
4.0.31106.0 |
320,352 |
11. sep. 2010 |
01:28 |
x64 |
Presentationhostproxy.dll |
4.0.31106.0 |
109,928 |
11. sep. 2010 |
01:28 |
x64 |
Windowsbase.dll |
3.0.6920.5012 |
1,114,112 |
11. sep. 2010 |
01:28 |
x64 |
Status
Microsoft har bekræftet, at problemet findes i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Løsning
Du kan løse dette problem ved at deaktivere pipelinen til gengivelse af hardware og derefter aktivere pipelinen til gengivelse af software.
Hvis du vil deaktivere pipelinen til hardwaregengivelse og aktivere pipelinen til gengivelse af software, skal du bruge en af følgende metoder:-
Angiv optællingen System.Windows.Interop.RenderMode.
Følgende er en eksempelkode, der indstiller optællingen System.Windows.Interop.RenderMode til at aktivere pipelinen til gengivelse af software, når der indlæses et WPF-vindue:private void OnLoaded(object sender, EventArgs e)
{ System.Windows.Interop.HwndSource hwndSource = PresentationSource.FromVisual(this) as System.Windows.Interop.HwndSource; System.Windows.Interop.HwndTarget hwndTarget = hwndSource.CompositionTarget; hwndTarget.RenderMode = System.Windows.Interop.RenderMode.SoftwareOnly; } -
Angiv registreringsdatabasenøglen DisableHWAcceleration .
Vigtigt! Dette afsnit, metode eller opgave indeholder trin, der fortæller dig, hvordan du redigerer registreringsdatabasen. Der kan dog opstå alvorlige problemer, hvis du ændrer registreringsdatabasen forkert. Derfor skal du kontrollere, at du følger disse trin nøje. Som en ekstra sikkerhed bør du oprette en sikkerhedskopi af registreringsdatabasen, før du redigerer den. Det giver dig mulighed for at gendanne registreringsdatabasen, hvis der opstår problemer. Få flere oplysninger om, hvordan du sikkerhedskopierer og gendanner registreringsdatabasen, ved at klikke på nedenstående artikelnummer for at se artiklen i Microsoft Knowledge Base:322756 Sådan sikkerhedskopieres og gendannes registreringsdatabasen i Windows Advarsel! Denne metode deaktiverer pipeline til gengivelse af hardware for alle WPF-programmer på computeren. Derfor anbefales metoden normalt ikke, undtagen når kunderne styrer miljøerne og ikke har noget imod effekten for alle WPF-applikationer.
-
Klik på Start, klik på Kør, skriv regedit, og tryk derefter på Enter.
-
Find og klik på følgende undernøgle i registreringsdatabasen:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics
-
Angiv værdien af posten DisableHWAcceleration i registreringsdatabasen til 1.
Bemærk! Hvis posten DisableHWAcceleration i registreringsdatabasen ikke findes, skal du højreklikke på undernøglen i registreringsdatabasen, pege på Ny og derefter klikke på Strengværdi for at oprette en ny post i registreringsdatabasen. Skriv DisableHWAcceleration for navnet på den nye post i registreringsdatabasen, dobbeltklik på DisableHWAcceleration, og rediger derefter data for DisableHWAcceleration-værdien til 1. -
Afslut Registreringseditor.
-
Flere oplysninger
Du kan finde flere oplysninger om pipelinen til gengivelse af software på følgende websted for Microsoft Developer Network (MSDN):Generelle oplysninger om pipelinen til gengivelse af software Du kan finde flere oplysninger om registreringsdatabaseindstillingerne for WPF-gengivelse på følgende MSDN-websted:Generelle oplysninger om indstillingerne i registreringsdatabasen for WPF-gengivelse Du kan finde flere oplysninger om System.Windows.Interop.RenderMode-optællingen på følgende MSDN-websted:Generelle oplysninger om optællingen "System.Windows.Interop.RenderMode"