Se aplica a
.NET Framework 3.5 Service Pack 1

Síntomas

Imagine la siguiente situación:

  • Ejecuta una aplicación de Windows Presentation Foundation (WPF) basada en Microsoft .NET Framework 3.5 Service Pack 1 (SP1).

  • La aplicación WPF usa la canalización de representación de hardware.

  • La aplicación carga y descarga muchos dominios de aplicación que contienen uno o más componentes de complemento WPF personalizados.

En este escenario, la aplicación encuentra una excepción System.Runtime.InteropServices.COMException y, a continuación, la aplicación se bloquea.

Solución

Información de revisiones

Microsoft dispone de una revisión compatible. Sin embargo, esta revisión está pensada para corregir solo el problema que se describe en este artículo. Aplique esta revisión solo a los sistemas que experimentan este problema específico. Esta revisión podría recibir pruebas adicionales. Por lo tanto, si no se ve gravemente afectado por este problema, le recomendamos que espere a la siguiente actualización de software que contiene esta revisión. Para descargar esta revisión desde la Galería de código de MSDN, visite el siguiente sitio web de Microsoft:

http://code.msdn.microsoft.com/KB2276690Nota La Galería de código de MSDN muestra los idiomas para los que está disponible la revisión. Si no ve su idioma en la lista, es porque la página de recursos de la Galería de códigos no está disponible para ese idioma. Nota Si se producen problemas adicionales o si es necesario solucionarlos, es posible que deba crear una solicitud de servicio independiente. Los costos de soporte técnico habituales se aplicarán a preguntas y problemas de soporte técnico adicionales que no reúnan los requisitos para esta revisión específica. Para obtener una lista completa de los números de teléfono de atención al cliente y soporte técnico de Microsoft o para crear una solicitud de servicio independiente, visita el siguiente sitio web de Microsoft:

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

Requisitos previos

Para aplicar esta revisión, debes tener instalado .NET Framework 3.5 Service Pack 1 (SP1). 

Requisito de reinicio

No tiene que reiniciar el equipo después de aplicar esta revisión.

Información de la sustitución de revisión

Esta revisión no reemplaza a ninguna otra revisión.

Información de archivo

La versión en inglés de esta revisión tiene los atributos de archivo (o atributos de archivo posteriores) que se enumeran en la tabla siguiente. Las fechas y horas de estos archivos se expresan de acuerdo con la hora universal coordinada (UTC). Cuando vea la información del archivo, esta se convertirá a la hora local. Para conocer la diferencia entre la hora UTC y la hora local, use la pestaña Zona horaria del elemento Fecha y hora del Panel de control.

Para todas las versiones compatibles basadas en x86 de Windows Server 2003 y Windows XP

Nombre de archivo

Versión del archivo

Tamaño de archivo

Fecha

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

Para todas las versiones compatibles basadas en x64 de Windows Server 2003 y Windows XP

Nombre de archivo

Versión del archivo

Tamaño de archivo

Fecha

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

Para todas las versiones compatibles basadas en x86 de Windows Vista Service Pack 2 (SP2) y de Windows Server 2008 Service Pack 2 (SP2)

Nombre de archivo

Versión del archivo

Tamaño de archivo

Fecha

Time

Platform

Presentationcore.dll

3.0.6920.4033

4,218,880

09-Sep-2010

10:52

x86

Presentationfontcache.exe.config

No aplicable

161

03-abr-2009

2,125

No aplicable

Wpfgfx_v0300.dll

3.0.6920.4003

1,736,024

17-jun-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

Para todas las versiones compatibles basadas en x64 de Windows Vista SP2 y Windows Server 2008 SP2

Nombre de archivo

Versión del archivo

Tamaño de archivo

Fecha

Time

Platform

Presentationcore.dll

3.0.6920.4033

3,997,696

09-Sep-2010

10:52

x64

Presentationfontcache.exe.config

No aplicable

161

03-abr-2009

20:58

No aplicable

Wpfgfx_v0300.dll

3.0.6920.4003

2,254,168

17-jun-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

Para todas las versiones compatibles basadas en x86 de Windows 7

Nombre de archivo

Versión del archivo

Tamaño de archivo

Fecha

Time

Platform

Presentationcore.dll

3.0.6920.5012

4,218,880

11-Sep-2010

01:29

x86

Presentationfontcache.exe.config

No aplicable

161

10-jun-2009

21:14

No aplicable

Wpfgfx_v0300.dll

3.0.6920.4902

1,736,536

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

Para todas las versiones compatibles basadas en x64 de Windows 7 y Windows Server 2008 R2

Nombre de archivo

Versión del archivo

Tamaño de archivo

Fecha

Time

Platform

Presentationcore.dll

3.0.6920.5012

3,997,696

11-Sep-2010

01:28

x64

Presentationfontcache.exe.config

No aplicable

161

10-jun-2009

20:30

No aplicable

Wpfgfx_v0300.dll

3.0.6920.4902

2,255,176

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

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".

Solución alternativa 

Para solucionar este problema, deshabilite la canalización de representación de hardware y, a continuación, habilite la canalización de representación de software. Para deshabilitar la canalización de representación de hardware y habilitar la canalización de representación de software, use uno de los métodos siguientes:

  • Establezca la enumeración System.Windows.Interop.RenderMode.El siguiente es código de ejemplo que establece la enumeración System.Windows.Interop.RenderMode para habilitar la canalización de representación de software cuando se carga una ventana WPF:

    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;}
  • Establezca la clave del Registro DisableHWAcceleration .Importante Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. Sin embargo, se pueden producir problemas graves si modifica el Registro incorrectamente. Por tanto, asegúrese de que sigue estos pasos cuidadosamente. Para mayor protección, realice una copia de seguridad del Registro antes de modificarlo. De esta manera podrá restaurar el Registro en caso de que se produzca un problema. Para obtener más información sobre cómo realizar una copia de seguridad y restaurar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

    322756 Cómo realizar una copia de seguridad y restaurar el Registro en WindowsAdvertencia Este método deshabilita la canalización de representación de hardware para todas las aplicaciones WPF en el equipo. Por lo tanto, el método no se recomienda normalmente excepto cuando los clientes controlan los entornos y no les importa el efecto para todas las aplicaciones WPFWPF.

    1. Haga clic en Inicio, haga clic en Ejecutar, escriba regedit y, a continuación, presione ENTRAR.

    2. Busque la siguiente subclave del Registro y haga clic en ella:

      HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics

    3. Establezca el valor de la entrada del Registro DisableHWAcceleration en 1.Nota Si la entrada del Registro DisableHWAcceleration no existe, haga clic con el botón secundario en la subclave del Registro, seleccione Nuevo y, a continuación, haga clic en Valor de cadena para crear una nueva entrada del Registro. Escriba DisableHWAcceleration para el nombre de la nueva entrada del Registro, haga doble clic en DisableHWAcceleration y cambie los datos del valor DisableHWAcceleration a 1.

    4. Cierre el Editor del Registro.

Más información

Para obtener más información sobre la canalización de representación de software, visite el siguiente sitio web de Microsoft Developer Network (MSDN):Información general sobre la canalizaciónde representación de software Para obtener más información sobre la configuración del Registro de wpf representación, visite el siguiente sitio web de MSDN:Información general sobre la configuración del Registro de wpf representaciónPara obtener más información sobre la enumeración System.Windows.Interop.RenderMode, visite el siguiente sitio web de MSDN:Información general sobre la enumeración "System.Windows.Interop.RenderMode"

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.