Você está offline; aguardando reconexão

PROBLEMA: Propriedades do sistema estão indisponíveis depois de instalar a atualização de sincronização de dados

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 303934
Aviso
Sintomas
Depois de você instalar a atualização de sincronização de dados para o Microsoft Windows CE Platform Builder 3.0, você não consegue abrir a caixa de diálogo Propriedades do sistema em uma configuração com base em MAXALL. Especificamente, quando você clique com o botão direito do mouse no ícone Meu computador e em seguida, clique em Propriedades , nada acontece.

Para obter mais informações sobre a atualização de sincronização de dados, consulte a seção "Referências" deste artigo.
Causa
Há duas importantes colaboradores para esse problema:
  • Itens do painel de controle são iniciados pelo Ctlpnl.exe.
  • Sincronização Active requer que todos os aplicativos ser fechados durante o backup e restauração.
Primeiro, os itens no painel de controle são iniciados pelo executável Ctlpnl.exe. O processo para carregar os itens padrão (como rede, comunicação, principal, senha, avançados, sistema, tela, sons, Sipcpl e relógio) é carregar o arquivo .cpl especificado caso haja alguma disponível. Se o arquivo .cpl especificado não estiver disponível, Ctlpnl.exe usa o item apropriado incluída no arquivo Cplmain.cpl. Esse mecanismo fornece uma maneira fácil para um OEM substituir os itens padrão: o OEM apenas grava novos.

Esse mecanismo é implementado no arquivo de origem Ctlpnl.cpp está localizado na seguinte arquivo:
\Wince300\Public\Wceshellfe\Oak\Ctlpnl\Ctlpnl\

Em segundo lugar, o Active Sync Backup e restaurar recursos Certifique-se que nenhum arquivo de dados está aberto em um dispositivo baseado no Microsoft Windows CE durante um backup ou restaurar a operação. Essa funcionalidade requer um mecanismo para fechar quaisquer aplicativos que estão sendo executados. Fechar esses aplicativos é feito por meio da função KillAllApps . Sincronização Active procura por essa função no item de painel de controle, System.cpl. Para que isso funcione, você deve ter o arquivo de código fonte simples, System.cpl, que acompanha os dados sincronização atualização para o Windows CE Platform Builder 3.0. O OEM deve implementar a função KillAllApps no seguinte arquivo:
\Wince300\Public\Datasync\Oak\Ctlpanel\System\System.c
Para obter mais informações e para obter a sincronização de dados de atualização, consulte a seção "Referências".

Como resultado desses dois fatores, o mecanismo padrão em Ctlpnl.exe não padrão usando o item de painel de controle do sistema no Cplmain.cpl. O processo Ctlpnl.exe tenta carregar o novo item em System.cpl que foi fornecido pela atualização de sincronização de dados. No entanto, essa tentativa será malsucedida porque esse arquivo .cpl simples não tem nenhum item do painel de controle.

Observação Você ainda pode acessar o item de sistema por meio do painel de controle. Isso ainda funciona porque o painel de controle enumera todos os itens em todos os arquivos .cpl. Portanto, o painel de controle abre o item que está contido no Cplmain.cpl.
Resolução
Para resolver esse problema, o OEM pode usar um dos seguintes métodos:
  • Método 1: Implemente seu próprio item do painel de controle no System.cpl.
  • Método 2: Implemente um item de painel de controle wrapper em System.cpl. Esse wrapper redirecionará para System.cpl em Cplmain.cpl.
  • Método 3: Modificar o mecanismo do Ctlpnl.exe (mencionado anteriormente neste artigo) para que System.cpl é lidar com como um caso especial e carregue o item Cplmain.cpl mesmo que exista um arquivo System.cpl no computador.
  • Método 4: Modificar o mecanismo do Ctlpnl.exe (mencionado anteriormente neste artigo) também padrão para o item do painel de controle de Cplmain.cpl se o arquivo especial (como System.cpl) existe mas não exporta a função CPlApplet .
Situação
Esse comportamento é por design.
Mais Informações
  • Método 1: A implementação de System.cpl no Windows CE 3.0 pode ser uma boa referência. A implementação de System.cpl pode ser encontrada no arquivo de origem no seguinte local:
    \Wince300\Public\Wceshellfe\Oak\Ctlpnl\Cplmain\System.cpp
  • Método 2: Para ver um exemplo de como carregar System.cpl em Cplmain.cpl, consulte o código que é referenciado pelo método 3.
  • Método 3: Modificar a função CplThread no arquivo de código fonte que está no seguinte local:
    \Wince300\Public\Wceshellfe\Oak\Ctlpnl\Ctlpnl\Ctlpnl.cpp
    Você pode inserir as seguintes linhas de código antes da chamada LoadLibrary (Info.cpl).

    Observação Esse código não funciona com o mecanismo original. Uma tentativa de substituir o item sistema no painel de controle implementando um novo System.cpl não funciona neste dispositivo.
    // ################################################// ### Begin addition DataSync / CPL workaround ###DEBUGMSG(1, (L"DEBUG OUTPUT: %s, %d, %d\r\n", info.cpl, info.icon, info.iTabIndex));if (lstrcmpi(info.cpl, L"System.cpl") == 0 )  {    lstrcpy(info.cpl, L"CPLMAIN.CPL");    info.icon = 7;    info.iTabIndex = -1;    DEBUGMSG(1, (L"DEBUG OUTPUT: %s, %d, %d\r\n", info.cpl, info.icon, info.iTabIndex));}// #### End addition for DataSync / CPL workaround ####// ####################################################				
  • Método 4: A Microsoft recomenda isso como a resolução preferencial. Essa resolução é descrita pela documentação que acompanha a atualização de sincronização de dados.

    Modificar a função CplThread no seguinte arquivo:
    \Wince300\Public\wceshellfe\Oak\Ctlpnl\ctlpnl\Ctlpnl.cpp
    Como exemplo, você pode substituir esta linha de código,
    if( !( hinst = LoadLibrary(info.cpl) ) ) {
    com o seguinte código:
    hinst = LoadLibrary(info.cpl);if ( !hinst || !GetProcAddress(  (HMODULE)hinst, TEXT("CPlApplet") ) )  {
Referências
Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
301965Atualização de sincronização de dados para o Windows CE Platform Builder 3.0

Propriedades

ID do Artigo: 303934 - Última Revisão: 08/18/2005 22:15:43 - Revisão: 2.4

Microsoft Encarta Reference Suite 2001

  • kbmt kbprb KB303934 KbMtpt
Comentários
; d"; document.getElementsByTagName("head")[0].appendChild(m);