CORREÇÃO: A função VarUI4FromI4 retorna um valor incorreto se um valor negativo for passado para o parâmetro "lIn" da função no Windows Embedded CE 6.0 R3

Sintomas

Considere o seguinte cenário:

  • Você executa um aplicativo em um dispositivo baseado em Windows Embedded CE 6.0 R3.
  • O aplicativo chama a função VarUI4FromI4 para converter tipos de dados variantes do tipo de dados LONG para o tipo de dados long não assinado (ULONG).
  • O aplicativo passa um valor negativo para o parâmetro lIn da função.

Nesse cenário, a função VarUI4FromI4 retorna o código S_OK em vez do código DISP_E_OVERFLOW.

Causa

Esse problema ocorre porque a implementação da função VarUI4FromI4 não marca o parâmetro de entrada para valores negativos.

Resolução

Informações de atualização do software

Uma atualização de software com suporte está agora disponível na Microsoft como Windows Embedded CE 6.0 Atualização Mensal (abril de 2012). Na seção "Informações do arquivo", o nome do arquivo do pacote contém a versão do produto, a data, o número do artigo da Base de Dados de Conhecimento Microsoft e o tipo de processador. O formato do nome do arquivo do pacote é o seguinte:

Versão do produto-yymmdd-kbnnnnnn-tipo de processador

Por exemplo: Wincepb60-110128-kb2492159-armv4i.msi é a correção do Construtor de Plataforma ARMV4i Windows Embedded CE 6.0 documentada no artigo da Base de Dados de Conhecimento 2492159 e que está contida na atualização mensal de janeiro de 2011.

Para resolver esse problema imediatamente, baixe esta atualização mensal do Windows Embedded CE 6.0 nos seguintes sites da Microsoft:

Windows Embedded

Baixar o Windows Embedded CE 6.0

Centro de Download da Microsoft

Windows Embedded CE 6.0

Pré-requisitos

Essa atualização será compatível apenas se todas as atualizações lançadas anteriormente para esse produto também tiverem sido instaladas.

Necessidade de reinicialização

Após aplicar esta atualização, você deverá executar uma compilação limpa de toda a plataforma. Para fazer isso, utilize um dos métodos seguintes:

  • No menu Compilar, clique em Limpar Solução e clique em Compilar Solução.
  • No menu Compilar, clique em Recompilar Solução.

Não é necessário reiniciar o computador após aplicar esta atualização de software.

Informações sobre substituição da atualização

Essa atualização não substitui nenhuma outra.

Informações de arquivo

A versão em inglês deste pacote de atualização de software tem os atributos de arquivo (ou atributos de arquivo mais recentes) listados na tabela a seguir. As datas e as horas desses arquivos estão listadas no formato UTC (Tempo Universal Coordenado). Quando você visualizar as informações sobre os arquivos, elas são convertidas no horário local. Para saber a diferença entre a hora UTC e a hora local, use a guia Fuso Horário no item Data e Hora do Painel de Controle.

Arquivos do instalador

                    
                  

Nome do arquivo Tamanho do arquivo Data Horário
Wincepb60-120411-kb2690112-mipsiv.msi 1,556,480 11 de abril de 2012 1,726
Wincepb60-120411-kb2690112-mipsiv_fp.msi 1,552,384 11 de abril de 2012 1,726
Wincepb60-120411-kb2690112-sh4.msi 1,527,808 11 de abril de 2012 1,726
Wincepb60-120411-kb2690112-x86.msi 1,433,600 11 de abril de 2012 1,726
Wincepb60-120411-kb2690112-armv4i.msi 1,622,016 11 de abril de 2012 1,726
Wincepb60-120411-kb2690112-mipsii.msi 1,544,192 11 de abril de 2012 1,726
Wincepb60-120411-kb2690112-mipsii_fp.msi 1,544,192 11 de abril de 2012 1,726

Arquivos que são incluídos neste pacote de atualização

                    
                  

Nome do arquivo Tamanho do arquivo Data Horário Caminho
Oleaut32.lib 1,504,968 03 de abril de 2012 00:46 Public\Dcom\Oak\Lib\Armv4i\Debug
Oleaut32.lib 1,379,952 03 de abril de 2012 00:46 Public\Dcom\Oak\Lib\Armv4i\Retail
Oleaut32.lib 1,386,194 03 de abril de 2012 00:47 Public\Dcom\Oak\Lib\Mipsii\Debug
Oleaut32.lib 1,248,114 03 de abril de 2012 00:46 Public\Dcom\Oak\Lib\Mipsii\Retail
Oleaut32.lib 1,389,480 03 de abril de 2012 00:47 Public\Dcom\Oak\Lib\Mipsii_fp\Debug
Oleaut32.lib 1,241,700 03 de abril de 2012 00:47 Public\Dcom\Oak\Lib\Mipsii_fp\Retail
Oleaut32.lib 1,414,536 03 de abril de 2012 00:47 Public\Dcom\Oak\Lib\Mipsiv\Debug
Oleaut32.lib 1,270,712 03 de abril de 2012 00:47 Public\Dcom\Oak\Lib\Mipsiv\Retail
Oleaut32.lib 1,408,732 03 de abril de 2012 00:48 Public\Dcom\Oak\Lib\Mipsiv_fp\Debug
Oleaut32.lib 1,255,694 03 de abril de 2012 00:47 Public\Dcom\Oak\Lib\Mipsiv_fp\Retail
Oleaut32.lib 1,231,180 03 de abril de 2012 00:48 Public\Dcom\Oak\Lib\Sh4\Debug
Oleaut32.lib 1,125,456 03 de abril de 2012 00:48 Public\Dcom\Oak\Lib\Sh4\Retail
Oleaut32.lib 1,134,364 03 de abril de 2012 00:46 Public\Dcom\Oak\Lib\X86\Debug
Oleaut32.lib 1,134,120 03 de abril de 2012 00:46 Public\Dcom\Oak\Lib\X86\Retail

Referências

Para obter mais informações sobre a função VarUI4FromI4, acesse o seguinte site do Microsoft Developer Network (MSDN):

Informações gerais sobre a função VarUI4FromI4 Para obter informações adicionais sobre a terminologia da atualização de segurança, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):

824684 Descrição da terminologia padrão usada para descrever as atualizações de software da Microsoft