Síntomas
Tenga en cuenta el siguiente escenario:
- Tiene una aplicación que se ejecuta en un dispositivo basado en Windows Embedded CE 6.0 R3.
- La aplicación llama a la función SetLocalTime para actualizar la hora local del dispositivo.
En este escenario, es posible que la hora local del dispositivo se desplace una hora ocasionalmente después de que se llame a la función.
Nota También puede experimentar este mismo problema al usar la función SetSystemTime.
Causa
Este problema se produce porque las funciones SetLocalTime y SetSystemTime no son seguras para subprocesos. Las funciones modifican una variable global en el kernel y esta variable no está protegida correctamente por un objeto de sección crítica.
Resolución
Información sobre la actualización de software
Una actualización de software compatible ahora está disponible en Microsoft como Windows Embedded CE 6.0 Monthly Update de marzo de 2012. En la sección "Información del archivo", el nombre de archivo del paquete contiene la versión del producto, la fecha, el número de artículo de Knowledge Base y el tipo de procesador. El formato de nombre de archivo del paquete es el siguiente:
Tipo de procesador a yymmdd-kbnnnnn del productoPor ejemplo, Wincepb60-110128-kb2492159-armv4i.msi es la corrección ARMV4i de Windows Embedded CE 6.0 Platform Builder que se documenta en el artículo de Knowledge Base 2492159 y que se incluye en la actualización mensual de enero de 2011.
Para resolver este problema inmediatamente, descargue esta actualización mensual de Windows Embedded CE 6.0 desde el siguiente sitio web de Microsoft.
Centro de descarga de Microsoft
Requisitos previos
Esta actualización sólo es compatible si se han instalado también 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ú Compilar, haga clic en Limpiar solución y luego en Compilar solución.
- En el menú Compilar, haga clic en Recompilar solución.
No es necesario que reinicie el equipo una vez aplicada esta actualización de software.
Información de reemplazo de actualización
Esta actualización no sustituye a otras actualizaciones.
Información de archivo
La versión en inglés de este paquete de actualización de software incluye los atributos de archivo (u otros posteriores) que se muestran en la tabla siguiente. Las fechas y horas de estos archivos se expresan de acuerdo con la hora universal coordinada (UTC). La información del archivo se convertirá a la hora local cuando la vea. 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.
Archivos del instalador
| Nombre del archivo | Tamaño de archivo | Fecha | Hora |
|---|---|---|---|
| Wincepb60-120319-kb2686451-mipsiv_fp.msi | 3,493,888 | 20 de marzo de 2012 | 2,118 |
| Wincepb60-120319-kb2686451-sh4.msi | 3,149,824 | 20 de marzo de 2012 | 2,118 |
| Wincepb60-120319-kb2686451-x86.msi | 2,985,984 | 20 de marzo de 2012 | 2,118 |
| Wincepb60-120319-kb2686451-armv4i.msi | 3,493,888 | 20 de marzo de 2012 | 2,118 |
| Wincepb60-120319-kb2686451-mipsii.msi | 3,334,144 | 20 de marzo de 2012 | 2,118 |
| Wincepb60-120319-kb2686451-mipsii_fp.msi | 3,448,832 | 20 de marzo de 2012 | 2,118 |
| Wincepb60-120319-kb2686451-mipsiv.msi | 3,371,008 | 20 de marzo de 2012 | 2,118 |
Archivos incluidos en este paquete de actualización
| Nombre del archivo | Tamaño de archivo | Fecha | Hora | Ruta de acceso |
|---|---|---|---|---|
| Time.c | 23,298 | 08-mar-2012 | 01:42 | Private\Winceos\Coreos\Nk\Kernel |
| Nkmain.lib | 2,746,064 | 08-mar-2012 | 01:39 | Public\Common\Oak\Lib\Armv4i\Debug |
| Nkprmain.lib | 2,782,924 | 08-mar-2012 | 01:39 | Public\Common\Oak\Lib\Armv4i\Debug |
| Nkmain.lib | 1,767,370 | 08-mar-2012 | 01:39 | Public\Common\Oak\Lib\Armv4i\Retail |
| Nkprmain.lib | 1,792,798 | 08-mar-2012 | 01:39 | Public\Common\Oak\Lib\Armv4i\Retail |
| Nkmain.lib | 2,588,508 | 08-mar-2012 | 01:39 | Public\Common\Oak\Lib\Mipsii\Debug |
| Nkprmain.lib | 2,624,494 | 08-mar-2012 | 01:39 | Public\Common\Oak\Lib\Mipsii\Debug |
| Nkmain.lib | 1,676,650 | 08-mar-2012 | 01:39 | Public\Common\Oak\Lib\Mipsii\Retail |
| Nkprmain.lib | 1,706,794 | 08-mar-2012 | 01:39 | Public\Common\Oak\Lib\Mipsii\Retail |
| Nkmain.lib | 2,663,356 | 08-mar-2012 | 01:40 | Public\Common\Oak\Lib\Mipsii_fp\Debug |
| Nkprmain.lib | 2,699,618 | 08-mar-2012 | 01:40 | Public\Common\Oak\Lib\Mipsii_fp\Debug |
| Nkmain.lib | 1,736,352 | 08-mar-2012 | 01:40 | Public\Common\Oak\Lib\Mipsii_fp\Retail |
| Nkprmain.lib | 1,766,604 | 08-mar-2012 | 01:40 | Public\Common\Oak\Lib\Mipsii_fp\Retail |
| Nkmain.lib | 2,620,962 | 08-mar-2012 | 01:40 | Public\Common\Oak\Lib\Mipsiv\Debug |
| Nkprmain.lib | 2,657,080 | 08-mar-2012 | 01:40 | Public\Common\Oak\Lib\Mipsiv\Debug |
| Nkmain.lib | 1,701,878 | 08-mar-2012 | 01:40 | Public\Common\Oak\Lib\Mipsiv\Retail |
| Nkprmain.lib | 1,731,924 | 08-mar-2012 | 01:40 | Public\Common\Oak\Lib\Mipsiv\Retail |
| Nkmain.lib | 2,701,072 | 08-mar-2012 | 01:41 | Public\Common\Oak\Lib\Mipsiv_fp\Debug |
| Nkprmain.lib | 2,737,466 | 08-mar-2012 | 01:41 | Public\Common\Oak\Lib\Mipsiv_fp\Debug |
| Nkmain.lib | 1,768,040 | 08-mar-2012 | 01:41 | Public\Common\Oak\Lib\Mipsiv_fp\Retail |
| Nkprmain.lib | 1,798,190 | 08-mar-2012 | 01:41 | Public\Common\Oak\Lib\Mipsiv_fp\Retail |
| Nkmain.lib | 2,183,008 | 08-mar-2012 | 01:41 | Public\Common\Oak\Lib\Sh4\Debug |
| Nkprmain.lib | 2,208,240 | 08-mar-2012 | 01:41 | Public\Common\Oak\Lib\Sh4\Debug |
| Nkmain.lib | 1,520,142 | 08-mar-2012 | 01:41 | Public\Common\Oak\Lib\Sh4\Retail |
| Nkprmain.lib | 1,544,514 | 08-mar-2012 | 01:41 | Public\Common\Oak\Lib\Sh4\Retail |
| Nkmain.lib | 2,174,422 | 08-mar-2012 | 01:38 | Public\Common\Oak\Lib\X86\Debug |
| Nkprmain.lib | 2,202,554 | 08-mar-2012 | 01:38 | Public\Common\Oak\Lib\X86\Debug |
| Nkmain.lib | 1,532,248 | 08-mar-2012 | 01:38 | Public\Common\Oak\Lib\X86\Retail |
| Nkprmain.lib | 1,552,260 | 08-mar-2012 | 01:38 | Public\Common\Oak\Lib\X86\Retail |
Referencias
Para obtener más información sobre la función SetLocalTime, visite el siguiente sitio web de Microsoft Developer Network (MSDN):
SetLocalTime Para obtener más información sobre la función SetSystemTime, visite el siguiente sitio web de MSDN:
SetSystemTime Para obtener más información sobre un objeto de sección crítica, visita el siguiente sitio web de MSDN:
Objetos de sección críticos (Windows Embedded CE 6.0) Para obtener más información sobre la terminología de actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 Descripción de la terminología estándar que se usa para describir las actualizaciones de software de Microsoft