S’applique à
.NET Framework 3.5 Service Pack 1

Symptômes

Prenons l’exemple du scénario suivant :

  • Vous exécutez une application Windows Presentation Foundation (WPF) basée sur Microsoft .NET Framework 3.5 Service Pack 1 (SP1).

  • L’application WPF utilise le pipeline de rendu matériel.

  • L’application charge et décharge de nombreux domaines d’application qui contiennent un ou plusieurs composants de complément WPF personnalisés.

Dans ce scénario, l’application rencontre une exception System.Runtime.InteropServices.COMException, puis l’application se bloque.

Résolution

Informations sur le correctif logiciel

Un correctif logiciel pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif logiciel est destiné à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif logiciel uniquement aux systèmes qui rencontrent ce problème spécifique. Ce correctif logiciel peut recevoir des tests supplémentaires. Par conséquent, si vous n’êtes pas gravement affecté par ce problème, nous vous recommandons d’attendre la prochaine mise à jour logicielle qui contient ce correctif logiciel. Pour télécharger ce correctif logiciel à partir de MSDN Code Gallery, visitez le site web Microsoft suivant :

http://code.msdn.microsoft.com/KB2276690Remarque Msdn Code Gallery affiche les langues pour lesquelles le correctif logiciel est disponible. Si vous ne voyez pas votre langue répertoriée, c’est que la page de ressources De la galerie de codes n’est pas disponible pour cette langue. Remarque Si des problèmes supplémentaires se produisent ou si une résolution des problèmes est nécessaire, vous devrez peut-être créer une demande de service distincte. Les coûts de support habituels s’appliquent aux questions et problèmes de support supplémentaires qui ne sont pas éligibles pour ce correctif logiciel spécifique. Pour obtenir la liste complète des numéros de téléphone du service clientèle et du support technique Microsoft ou pour créer une demande de service distincte, visitez le site web Microsoft suivant :

http://support.microsoft.com/contactus/?ws=support

Conditions préalables

Pour appliquer ce correctif, le .NET Framework 3.5 Service Pack 1 (SP1) doit être installé. 

Nécessité de redémarrer

Vous n’avez pas besoin de redémarrer l’ordinateur après avoir appliqué ce correctif logiciel.

Informations sur le remplacement de correctif logiciel

Ce correctif logiciel ne remplace aucun autre correctif logiciel.

Informations sur les fichiers

La version anglaise de ce correctif logiciel contient les attributs de fichier (ou les attributs de fichier ultérieurs) répertoriés dans le tableau suivant. Les date et heure de création de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations des fichiers, les données sont converties en heure locale. Pour connaître le décalage entre l’heure UTC et l’heure locale, utilisez l’onglet Fuseau horaire dans l’élément Date et heure du Panneau de configuration.

Pour toutes les versions x86 prises en charge de Windows Server 2003 et de Windows XP

Nom du fichier

Version du fichier

Taille du fichier

Date

Time

Platform

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

Pour toutes les versions x64 prises en charge de Windows Server 2003 et de Windows XP

Nom du fichier

Version du fichier

Taille du fichier

Date

Time

Platform

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

Pour toutes les versions x86 prises en charge de Windows Vista Service Pack 2 (SP2) et de Windows Server 2008 Service Pack 2 (SP2)

Nom du fichier

Version du fichier

Taille du fichier

Date

Time

Platform

Presentationcore.dll

3.0.6920.4033

4,218,880

09-Sep-2010

10:52

x86

Presentationfontcache.exe.config

Non applicable

161

03-avr-2009

2,125

Non applicable

Wpfgfx_v0300.dll

3.0.6920.4003

1,736,024

17-juin-2009

03:08

x86

Presentationframework.dll

3.0.6920.4033

5,279,744

09-Sep-2010

10:52

x86

Presentationhostdll.dll

3.0.6920.4033

130,408

09-Sep-2010

10:52

x86

Windowsbase.dll

3.0.6920.4033

1,249,280

09-Sep-2010

10:52

x86

Pour toutes les versions x64 prises en charge de Windows Vista SP2 et de Windows Server 2008 SP2

Nom du fichier

Version du fichier

Taille du fichier

Date

Time

Platform

Presentationcore.dll

3.0.6920.4033

3,997,696

09-Sep-2010

10:52

x64

Presentationfontcache.exe.config

Non applicable

161

03-avr-2009

20:58

Non applicable

Wpfgfx_v0300.dll

3.0.6920.4003

2,254,168

17-juin-2009

03:08

x64

Presentationframework.dll

3.0.6920.4033

4,636,672

09-Sep-2010

10:52

x64

Presentationhostdll.dll

3.0.6920.4033

171,368

09-Sep-2010

10:52

x64

Windowsbase.dll

3.0.6920.4033

1,110,016

09-Sep-2010

10:52

x64

Pour toutes les versions x86 prises en charge de Windows 7

Nom du fichier

Version du fichier

Taille du fichier

Date

Time

Platform

Presentationcore.dll

3.0.6920.5012

4,218,880

11-Sep-2010

01:29

x86

Presentationfontcache.exe.config

Non applicable

161

10-juin-2009

21:14

Non applicable

Wpfgfx_v0300.dll

3.0.6920.4902

1,736,536

10-juin-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

Pour toutes les versions x64 prises en charge de Windows 7 et de Windows Server 2008 R2

Nom du fichier

Version du fichier

Taille du fichier

Date

Time

Platform

Presentationcore.dll

3.0.6920.5012

3,997,696

11-Sep-2010

01:28

x64

Presentationfontcache.exe.config

Non applicable

161

10-juin-2009

20:30

Non applicable

Wpfgfx_v0300.dll

3.0.6920.4902

2,255,176

10-juin-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

État

Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Solution de contournement 

Pour contourner ce problème, désactivez le pipeline de rendu matériel, puis activez le pipeline de rendu logiciel. Pour désactiver le pipeline de rendu matériel et activer le pipeline de rendu logiciel, utilisez l’une des méthodes suivantes :

  • Définissez l’énumération System.Windows.Interop.RenderMode.Voici un exemple de code qui définit l’énumération System.Windows.Interop.RenderMode pour activer le pipeline de rendu logiciel lorsqu’une fenêtre WPF est chargée :

    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;}
  • Définissez la clé de Registre DisableHWAcceleration .Important Cette section, méthode ou tâche contient des étapes qui vous indiquent comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour plus de protection, effectuez une sauvegarde du Registre avant de le modifier. Vous serez alors en mesure de le restaurer en cas de problème. Pour plus d'informations sur la procédure de sauvegarde et de restauration du Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

    322756 Comment sauvegarder et restaurer le Registre dans WindowsAvertissement Cette méthode désactive le pipeline de rendu matériel pour toutes les applications WPF sur l’ordinateur. Par conséquent, la méthode n’est généralement pas encouragée, sauf lorsque les clients contrôlent les environnements et ne se gênent pas de l’effet pour toutes les applications WPF.

    1. Cliquez sur Démarrer, sur Exécuter, tapez regedit, puis appuyez sur Entrée.

    2. Recherchez la sous-clé de Registre suivante, puis cliquez dessus :

      HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics

    3. Définissez la valeur de l’entrée de Registre DisableHWAcceleration sur 1.Remarque Si l’entrée de Registre DisableHWAcceleration n’existe pas, cliquez avec le bouton droit sur la sous-clé de Registre, pointez sur Nouveau, puis cliquez sur Valeur de chaîne pour créer une entrée de Registre. Tapez DisableHWAcceleration comme nom de la nouvelle entrée de Registre, double-cliquez sur DisableHWAcceleration, puis remplacez les données de valeur DisableHWAcceleration par 1.

    4. Fermez l'Éditeur du Registre.

Informations supplémentaires

Pour plus d’informations sur le pipeline de rendu logiciel, visitez le site web MSDN (Microsoft Developer Network) suivant :Informations générales sur le pipelinede rendu logiciel Pour plus d’informations sur les paramètres de Registre du rendu WPF, visitez le site web MSDN suivant :Informations générales sur les paramètres de Registre du rendu WPFPour plus d’informations sur l’énumération System.Windows.Interop.RenderMode, visitez le site web MSDN suivant :Informations générales sur l’énumération « System.Windows.Interop.RenderMode »

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.