Symptom
Tänk dig följande scenario:
- Du har ett program som körs på en Windows Embedded CE 6.0 R3-baserad enhet.
- Programmet anropar funktionen SetLocalTime för att uppdatera den lokala tiden för enheten.
I det här scenariot kan du märka att den lokala tiden på enheten ibland skiftar en timme efter att funktionen anropats.
Obs! Du kan också få samma problem när du använder funktionen SetSystemTime.
Orsak
Det här problemet uppstår eftersom funktionerna SetLocalTime och SetSystemTime inte är trådsäkra. Funktionerna ändrar en global variabel i kärnan och den här variabeln skyddas inte korrekt av ett kritiskt avsnittsobjekt.
Lösning
Information om programvaruuppdateringar
En programuppdatering som stöds är nu tillgänglig från Microsoft som Windows Embedded CE 6.0 Månadsuppdatering mars 2012. I avsnittet "Filinformation" innehåller paketfilnamnet produktversionen, datumet, artikelnumret för Knowledge Base och processortypen. Paketets filnamnsformat är följande:
Produktversion-yymmdd-kbnnnnnn-processortypExempel Wincepb60-110128-kb2492159-armv4i.msi är ARMV4i Windows Embedded CE 6.0 Platform Builder-korrigeringen som finns dokumenterad i KB-artikeln 2492159 och som finns i månadsuppdateringen för januari 2011.
Du kan lösa problemet direkt genom att ladda ned den här månatliga uppdateringen för Windows Embedded CE 6.0 från följande Microsoft-webbplats.
Microsoft Download Center
Krav
Den här uppdateringen stöds endast om alla tidigare uppdateringar för den här produkten också har installerats.
Krav på omstart
När du har installerat den här uppdateringen måste du göra en ren version av hela plattformen. Det gör du på något av följande sätt:
- På menyn Skapa klickar du på Rensa lösning och sedan på Skapa lösning.
- Klicka på Återskapa lösning på menyn Skapa.
Du behöver inte starta om datorn när du har installerat den här programuppdateringen.
Ersättningsinformation om uppdateringen
Den här uppdateringen ersätter inga andra uppdateringar.
Filinformation
Den engelska versionen av det här programuppdateringspaketet har filattributen (eller senare filattribut) som visas i följande tabell. Datumen och tiderna för dessa filer anges i Coordinated Universal Time (UTC). När du visar filinformationen konverteras den till lokal tid. Om du vill se skillnaden mellan UTC och lokal tid använder du fliken Tidszon i objektet Datum och tid i Kontrollpanelen.
Installationsfiler
| Filnamn | Filstorlek | Datum | Tid |
|---|---|---|---|
| Wincepb60-120319-kb2686451-mipsiv_fp.msi | 3,493,888 | 20 mars 2012 | 18:21 |
| Wincepb60-120319-kb2686451-sh4.msi | 3,149,824 | 20 mars 2012 | 18:21 |
| Wincepb60-120319-kb2686451-x86.msi | 2,985,984 | 20 mars 2012 | 18:21 |
| Wincepb60-120319-kb2686451-armv4i.msi | 3,493,888 | 20 mars 2012 | 18:21 |
| Wincepb60-120319-kb2686451-mipsii.msi | 3,334,144 | 20 mars 2012 | 18:21 |
| Wincepb60-120319-kb2686451-mipsii_fp.msi | 3,448,832 | 20 mars 2012 | 18:21 |
| Wincepb60-120319-kb2686451-mipsiv.msi | 3,371,008 | 20 mars 2012 | 18:21 |
Files som ingår i det här uppdateringspaketet
| Filnamn | Filstorlek | Datum | Tid | Sökväg |
|---|---|---|---|---|
| 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 |
Referenser
Mer information om funktionen SetLocalTime finns på följande webbplats för Microsoft Developer Network (MSDN):
SetLocalTime Mer information om funktionen SetSystemTime finns på följande MSDN-webbplats:
SetSystemTime Mer information om ett viktigt avsnittsobjekt finns på följande MSDN-webbplats:
Kritiska avsnittsobjekt (Windows Embedded CE 6.0) Om du vill ha mer information om terminologi för programuppdateringar klickar du på följande artikelnummer för att visa artikeln i Microsoft Knowledge Base:
824684 Beskrivning av standardterminologin som används för att beskriva Microsofts programuppdateringar