CORRECÇÃO: Poderá receber uma mensagem de erro 0x800706F7 quando efectuar uma chamada de método COM que tem um parâmetro BSTR

Importante Este artigo contém informações sobre como modificar o registo. Certifique-se efectuar cópias de segurança do registo antes de o modificar. Certifique-se de que sabe como restaurar o registo se ocorrer um problema. Para mais informações sobre como efectuar cópias de segurança, restaurar e modificar o registo, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
256986 descrição do registo do Microsoft Windows
Importante Este artigo contém informações que lhe mostra como pode ajudar as definições de segurança inferiores ou como desactivar as funcionalidades de segurança num computador. Pode efectuar estas alterações para contornar um problema específico. Antes de efectuar estas alterações, recomendamos que avalie os riscos associados à implementação destas medidas no seu ambiente específico. Se implementar esta solução alternativa, tome medidas adicionais adequadas para ajudar a proteger o seu sistema.

Sintomas

Quando efectua uma chamada de método COM que tenha um BSTR como um parâmetro, poderá receber uma mensagem de erro semelhante à seguinte:
0x800706F7 (o stub recebeu dados incorrectos)
Por exemplo, poderá detectar este problema quando chamar o método de COM IClassFactory::CreateInstanceLic .

Causa

Este problema ocorre se empacotar o BSTR, de um computador baseado no Microsoft Windows 2000 para um computador baseado no Microsoft Windows Server 2003 ou para um computador baseado no Microsoft Windows XP. Existe uma validação adicional dos dados BSTR em computadores baseados no Windows Server 2003 e em computadores baseados no Windows XP. Esta validação adicional pode tornar os dados BSTR parece ser inválido.

Resolução

Windows Server 2003

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente do Windows Server 2003. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft
889100 como obter o service pack mais recente do Windows Server 2003

Informações sobre correção

Pré-requisitos
Tem de ter o Microsoft Windows Server 2003 Service Pack 1 (SP1) ou Microsoft Windows XP Service Pack 2 (SP2) instalado para aplicar esta correcção.
Requisito de reinício
Tem de reiniciar o computador depois de aplicar esta correcção
Informações sobre substituição da correção
Esta correcção não substitui quaisquer outras correcções.
Informações de ficheiro
A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador Fuso horário na ferramenta Data e hora no painel de controlo.

Windows Server 2003, versões baseadas em Itanium
   Date         Time   Version        Size       File name     Platform   --------------------------------------------------------------------
29-Jun-2005 05:57 5.2.3790.2476 3,931,136 Oleaut32.dll IA-64

Windows Server 2003, versões baseadas em x64
   Date         Time   Version        Size       File name   ----------------------------------------------------------
29-Jun-2005 05:57 5.2.3790.2476 1,116,160 Oleaut32.dll

Windows Server 2003, versões baseadas em x86
   Date         Time   Version        Size     File name   --------------------------------------------------------
29-Jun-2005 05:16 5.2.3790.2476 556,032 Oleaut32.dll

Windows XP

Informações sobre correção

Existe uma correção suportada pela Microsoft. No entanto, esta correção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afetado por este problema, recomendamos que aguarde pela próxima atualização de software que contenha esta correção.

Se a correcção estiver disponível para transferência, existirá uma secção de "Transferência de correcção disponível" na parte superior deste artigo da Base de dados de conhecimento. Se esta secção não for apresentada, contacte o Suporte ao Cliente da Microsoft para obter a correção.

Nota Caso ocorram problemas adicionais ou se for necessária a resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas incluídos nesta correção específica. Para uma lista completa dos números de telefone de suporte e serviço de cliente da Microsoft ou para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:Nota O formulário "Transferência de correcção disponível" apresenta os idiomas nos quais a correcção está disponível. Se não visualizar o seu idioma, é porque uma correcção não está disponível para esse idioma.
Pré-requisitos
Tem de ter o Microsoft Windows Server 2003 Service Pack 1 (SP1) ou Microsoft Windows XP Service Pack 2 (SP2) instalado para aplicar esta correcção.
Requisito de reinício
Tem de reiniciar o computador depois de aplicar esta correcção
Informações sobre substituição da correção
Esta correcção não substitui quaisquer outras correcções.
Informações de ficheiro
A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador Fuso horário na ferramenta Data e hora no painel de controlo.

Windows XP, versões baseadas em x64
   Date         Time   Version        Size       File name   ----------------------------------------------------------
29-Jun-2005 05:57 5.2.3790.2476 1,116,160 Oleaut32.dll
Windows XP, versões baseadas em x86
   Date         Time   Version        Size     File name   --------------------------------------------------------
08-Mar-2005 08:24 5.1.2600.2626 549,376 Oleaut32.dll

Informações de registo

Aviso Poderão ocorrer problemas graves se modificar o registo incorrectamente utilizando o Editor de registo ou utilizando outro método. Estes problemas poderão forçar a reinstalação do sistema operativo. A Microsoft não garante que estes problemas possam ser resolvidos. Modifique o registo por sua conta e risco.

Esta correcção fornece compatibilidade com computadores baseados no Windows 2000 quando validar os dados do BSTR. Tem de criar uma entrada de registo para activar esta correcção. Para criar esta entrada de registo num computador baseado no Windows Server 2003 ou num computador baseado no Windows XP, siga estes passos:
  1. Clique em Iniciar, clique em Executar, escreva Regedit na caixa Abrir e, em seguida, clique em OK.
  2. Localize a seguinte chave de registo:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
  3. Botão direito do rato na chave de registo localizada no passo 2, clique em Novoe, em seguida, clique em chave.
  4. Escreva OleAute, em seguida, prima ENTER.
  5. OleAutcom o botão direito, clique em
    Novoe, em seguida, clique em Valor DWORD.
  6. Escreva DisableBSTRValidatione, em seguida, prima ENTER.
  7. DisableBSTRValidationcom o botão direito e, em seguida, clique em Modificar.
  8. Na caixa dados do valor , escreva
    00000001e, em seguida, clique em OK.
  9. No menu ficheiro , clique em
    Sair para sair do Editor de registo.

Solução alternativa

Aviso Esta medida pode tornar o computador ou rede mais vulnerável a ataques por utilizadores mal intencionados ou software malicioso como vírus. A Microsoft não recomenda esta solução alternativa, mas fornece estas informações para que possa implementá-la à sua própria responsabilidade. Utilize esta solução alternativa na sua conta e risco.
Para contornar este problema, siga estes passos:
  1. Clique em Iniciar, clique em Executar, escreva Regedit na caixa Abrir e, em seguida, clique em OK.
  2. Localize a seguinte chave de registo:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
  3. Botão direito do rato na chave de registo localizada no passo 2, clique em Novoe, em seguida, clique em chave.
  4. Escreva OleAute, em seguida, prima ENTER.
  5. OleAutcom o botão direito, clique em
    Novoe, em seguida, clique em Valor DWORD.
  6. Escreva DisableShielde, em seguida, prima ENTER.
  7. DisableShieldcom o botão direito e, em seguida, clique em
    A Modificar.
  8. Na caixa dados do valor , escreva
    00000001e, em seguida, clique em OK.
  9. No menu ficheiro , clique em
    Sair para sair do Editor de registo.
Nota Esta solução alternativa desactiva algumas verificações de segurança que foram implementadas nos sistemas operativos Windows Server 2003 e Windows XP. Por conseguinte, recomendamos que utilize esta solução alternativa para testar se a correcção descrita neste artigo resolve o problema que está a ocorrer. Não recomendamos que utilize esta solução alternativa como uma solução permanente para este problema.

Estado

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a". Este problema foi corrigido pela primeira vez no Windows Server 2003 Service Pack 2.

Mais informações

Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft

824684 descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

ID do Artigo: 895321 - Última Revisão: 21/02/2017 - Revisão: 1

Microsoft COM+ 1.5, Microsoft Windows Server 2003 Standard Edition, Microsoft Windows Server 2003 Enterprise Edition, Microsoft Windows Server 2003 Datacenter Edition, Microsoft Windows Server 2003 Web Edition, Microsoft Windows Server 2003, Standard x64 Edition, Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Server 2003, Datacenter x64 Edition, Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems, Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems, Microsoft Windows XP Home Edition, Microsoft Windows XP Professional Edition, Microsoft Windows XP Professional x64 Edition

Comentários