KORRIGERA: Felmeddelande när du kör ett program som anropar metoden IDirectDrawSurface::UpdateOverlay på en Windows Embedded CE 6.0-baserad enhet: "fel: uppdatering överlägg yta misslyckades"


Symptom


Du har ett program som anropar metoden IDirectDrawSurface::UpdateOverlay på en Microsoft Windows Embedded CE 6.0-baserad enhet som stöder en blandning av Alpha-mekanismer. När du kör programmet på enheten och Visual Studio 2005-felsökare är ansluten kan du får följande felmeddelande i fönstret Windows CE Debug utdata :

Fel: uppdatera överlägg yta misslyckades
Det här problemet uppstår när följande villkor är uppfyllda:
  • DDOVER_ALPHACONSTOVERRIDE-flaggan anges i metoden.
  • Variabeln dwAlphaConst används i DDOVERLAYFX-strukturen.

Orsak


Det här problemet beror på en parameter kontroll i DirectDraw-skiktet som felaktigt validerar ett konstantvärde alfa för överlägg.

Lösning


Information om programvara

En programuppdatering som stöds är nu tillgänglig från Microsoft som Windows CE 6.0 Platform Builder Monthly Update (November 2008). Du kan bekräfta detta genom att rulla till avsnittet "Filinformation" i denna artikel. Paketets filnamn innehåller produktversion, datum, artikelnummer i Knowledge Base och processortyp. Paketets filnamnsformat är:
Produkt version-ååmmdd-kbnnnnnn-processortyp
Exempel: Wincepb50-060503-kb917590-armv4i.msi är ARMV4i Windows CE 5.0 Platform Builder-korrigeringen som beskrivs i KB-artikel 917590 och som ingår i månadsuppdateringen maj 2006. Om du vill lösa problemet omedelbart klickar du på följande artikelnummer för information om hur du hämtar Windows CE Platform Builder och viktiga programuppdateringar för operativsystemet:
837392 hur du hittar kärnoperativsystem åtgärdas för Microsoft Windows CE Platform Builder-produkter

Förutsättningar

Den här uppdateringen stöds endast om alla tidigare utgivna uppdateringar för produkten har installerats.

Krav på omstart

När du har installerat programuppdateringen måste du utföra en ren build-version av hela plattformen. Genom att använda någon av följande metoder:
  • Klicka på RensaBuild -menyn och sedan på Build Platform.
  • Klicka på Återskapa plattformBuild -menyn.
Du behöver inte starta om datorn när du har installerat denna uppdatering.

Information om vad uppdateringen ersätter

Den här uppdateringen ersätter inte några andra uppdateringar.

Filinformation

Den engelska versionen av det här programuppdateringspaketet har filattribut eller senare filattribut som visas i följande tabell.

FilnamnStorlekDatumTid
Wincepb60-081114-kb959374-armv4i.msi1,437,69614-Nov-200821:43
Wincepb60-081114-kb959374-mipsii.msi1 411 58414-Nov-200821:43
Wincepb60-081114-kb959374-mipsii_fp.msi1 411 58414-Nov-200821:43
Wincepb60-081114-kb959374-mipsiv.msi1,424,89614-Nov-200821:43
Wincepb60-081114-kb959374-mipsiv_fp.msi1,425,40814-Nov-200821:43
Wincepb60-081114-kb959374-sh4.msi1,405,95214-Nov-200821:43
Wincepb60-081114-kb959374-x86.msi1,307,64814-Nov-200821:43


Den engelska versionen av det här programuppdateringspaketet har de filattribut (eller senare filattribut) som visas i följande tabell. Datum och tider för dessa filer anges i UTC-tid (UTC). När du visar filinformationen konverteras den till lokal tid. Använd fliken tidszon i datum och tid på Kontrollpanelen om du vill se skillnaden mellan UTC-tid och lokal tid.
FilnamnStorlekDatumTidSökväg
Ddcore.lib1,733,68610-Nov-200823:05Public\Common\Oak\Lib\Armv4i\Debug
Ddcore.lib1,157,41410-Nov-200823:05Public\Common\Oak\Lib\Armv4i\Retail
Ddcore.lib1,707,67810-Nov-200823:06Public\Common\Oak\Lib\Mipsii\Debug
Ddcore.lib1,136,04810-Nov-200823:06Public\Common\Oak\Lib\Mipsii\Retail
Ddcore.lib1,707,77010-Nov-200823:07Public\Common\Oak\Lib\Mipsii_fp\Debug
Ddcore.lib1,136,21210-Nov-200823:06Public\Common\Oak\Lib\Mipsii_fp\Retail
Ddcore.lib1,736,73010-Nov-200823:07Public\Common\Oak\Lib\Mipsiv\Debug
Ddcore.lib1,153,86410-Nov-200823:07Public\Common\Oak\Lib\Mipsiv\Retail
Ddcore.lib1,736,82210-Nov-200823:08Public\Common\Oak\Lib\Mipsiv_fp\Debug
Ddcore.lib1,154,02810-Nov-200823:08Public\Common\Oak\Lib\Mipsiv_fp\Retail
Ddcore.lib1,580,54210-Nov-200823:08Public\Common\Oak\Lib\Sh4\Debug
Ddcore.lib1,081,98010-Nov-200823:08Public\Common\Oak\Lib\Sh4\Retail
Ddcore.lib1,486,50010-Nov-200823:05Public\Common\Oak\Lib\X86\Debug
Ddcore.lib1,014,85210-Nov-200823:05Public\Common\Oak\Lib\X86\Retail

Status


Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Mer Information


Mer information om metoden IDirectDrawSurface::UpdateOverlay finns på följande Microsoft Developer Network (MSDN)-webbplats:För mer information om terminologin för programuppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
824684 beskrivning av standardterminologin som används för att beskriva Microsoft-programuppdateringar