Introducción
Este artículo describe un problema que provoca un bloqueo de la aplicación Silverlight para Windows Embedded desde una pérdida de memoria en un control personalizado de tipo VTYPE_BSTR en Windows Embedded Compact 7. Hay una actualización disponible para resolver este problema. Antes de instalar esta actualización, deben instalar todas las actualizaciones publicadas previamente para este producto.
Síntomas
Tiene una aplicación Silverlight para Windows Embedded en Windows Embedded Compact 7. Si la aplicación crea y registra un control personalizado como una propiedad de dependencia personalizada del tipo VTYPE_BSTR, puede producirse una pérdida de memoria. Además, la pérdida de memoria puede hacer que la aplicación se bloquee.
Ejemplos:-
Se llama al método IXRCustomUserControl::GetPropertyValue() , un XRValue se devuelve y establece la variable XRValue.shouldFreeValuePointer como False. Esto produce una interrupción. Si se establece XRValue.shouldFreeValuePointer = True en la aplicación, esto provocará una pérdida de memoria.
-
Se llama al método GetDependencyProperty , un XRValue se devuelve y establece la variable XRValue.shouldFreeValuePointer a True. Esto también causa una pérdida de memoria.
Finalmente, estas pérdidas de memoria que la aplicación se bloquee.
Solución
Información de actualización de software
Una actualización de software compatible ahora está disponible de Microsoft como Windows Embedded Compact 7 actualización mensual (junio de 2015).
Nota: Esta actualización mensual para Windows Embedded Compact 7 está disponible para su descarga desde el siguiente sitio web del Centro de descarga de Microsoft:Actualizaciones de Windows Embedded Compact 7
Requisitos previos
Esta actualización es compatible solo si también se han instalado todas las actualizaciones publicadas previamente para este producto.
Requisito de reinicio
Después de aplicar esta actualización, debe realizar una compilación limpia de toda la plataforma. Para ello, utilice uno de los métodos siguientes:
-
En el menú Generar, haga clic en Limpiar solución y, a continuación, haga clic en Generar solución.
-
En el menú Generar, haga clic en Volver a generar solución.
No es necesario que reinicie el equipo después de aplicar esta actualización de software.
Información para sustituir la actualización
Esta actualización no sustituye a otras actualizaciones.
La versión en inglés de este paquete de actualización de software tiene los atributos de archivo (o atributos del archivo más reciente) mostrados en la tabla siguiente. Las fechas y horas de estos archivos se muestran en la hora Universal coordinada (UTC). Al ver la información del archivo, se convierte en hora local. Para encontrar la diferencia entre la hora UTC y la hora local, utilice la ficha Zona horaria en el elemento de Fecha y hora del Panel de control.
Archivos que se incluyen en este paquete de actualización
Nombre del archivo |
Tamaño de archivo |
Fecha |
Hora |
Ruta de acceso |
---|---|---|---|---|
Xamlruntime.map |
1,840,534 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Checked |
Xamlruntime.rel |
2,848,176 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Checked |
Xamlruntime.dll |
1,712,128 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Checked |
Xamlruntime.map |
1,435,946 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Mipsii\Retail |
Xamlruntime.rel |
2,322,261 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Mipsii\Retail |
Xamlruntime.dll |
1,236,992 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Mipsii\Retail |
Xamlruntime.map |
2,462,379 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Debug |
Xamlruntime.rel |
3,905,400 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Debug |
Xamlruntime.dll |
2,523,136 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii\Debug |
Xamlruntime.map |
1,833,288 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Checked |
Xamlruntime.rel |
1,763,460 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Checked |
Xamlruntime.dll |
1,359,872 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Checked |
Xamlruntime.map |
1,264,169 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Retail |
Xamlruntime.rel |
1,577,831 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Retail |
Xamlruntime.dll |
970,752 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv6\Retail |
Xamlruntime.map |
2,485,090 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv6\Debug |
Xamlruntime.rel |
2,317,244 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv6\Debug |
Xamlruntime.dll |
2,232,320 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv6\Debug |
Xamlruntime.map |
1,787,558 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntime.rel |
1,731,067 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntime.dll |
1,060,864 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Checked |
Xamlruntime.map |
1,428,788 |
03-Jul-2015 |
10:54 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntime.rel |
1,626,087 |
03-Jul-2015 |
10:54 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntime.dll |
778,240 |
03-Jul-2015 |
10:54 |
Public\Common\Oak\Target\X86\Retail |
Xamlruntime.map |
2,282,239 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntime.rel |
2,140,373 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntime.dll |
1,601,536 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\X86\Debug |
Xamlruntime.map |
1,803,333 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Checked |
Xamlruntime.rel |
2,186,193 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Checked |
Xamlruntime.dll |
1,265,664 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Checked |
Xamlruntime.map |
1,425,652 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Retail |
Xamlruntime.rel |
1,955,179 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Retail |
Xamlruntime.dll |
925,696 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Retail |
Xamlruntime.map |
2,461,372 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Debug |
Xamlruntime.rel |
2,927,897 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Debug |
Xamlruntime.dll |
2,015,232 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Sh4\Debug |
Xamlruntime.map |
1,838,850 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Checked |
Xamlruntime.rel |
2,819,669 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Checked |
Xamlruntime.dll |
1,703,936 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Checked |
Xamlruntime.map |
1,434,544 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Retail |
Xamlruntime.rel |
2,301,497 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Retail |
Xamlruntime.dll |
1,236,992 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Retail |
Xamlruntime.map |
2,460,543 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Debug |
Xamlruntime.rel |
3,879,010 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Debug |
Xamlruntime.dll |
2,514,944 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Mipsii_fp\Debug |
Xamlruntime.map |
1,833,276 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntime.rel |
1,763,460 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntime.dll |
1,351,680 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Checked |
Xamlruntime.map |
1,264,094 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntime.rel |
1,577,802 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntime.dll |
966,656 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv7\Retail |
Xamlruntime.map |
2,485,098 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntime.rel |
2,317,215 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntime.dll |
2,228,224 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv7\Debug |
Xamlruntime.map |
1,833,826 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv5\Checked |
Xamlruntime.rel |
1,769,086 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv5\Checked |
Xamlruntime.dll |
1,372,160 |
03-Jul-2015 |
10:56 |
Public\Common\Oak\Target\Armv5\Checked |
Xamlruntime.map |
1,264,656 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Retail |
Xamlruntime.rel |
1,582,471 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Retail |
Xamlruntime.dll |
983,040 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Retail |
Xamlruntime.map |
2,484,754 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Debug |
Xamlruntime.rel |
2,324,871 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Debug |
Xamlruntime.dll |
2,240,512 |
03-Jul-2015 |
10:55 |
Public\Common\Oak\Target\Armv5\Debug |
Referencias
Obtenga información acerca de la terminología que utiliza Microsoft para describir las actualizaciones de software.