ID do artigo: 139071 - Última revisão: quarta-feira, 26 de julho de 2006 - Revisão: 5.4

CORRECÇÃO: Cache de OLE Automation BSTR fará com que memória vazamento de fontes no Windows 2000

Download do hotfix está disponívelDownload do Hotfix Disponível
Visualizar e solicitar downloads de hotfix
Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sumário

Este artigo descreve o seguinte sobre esta versão de hotfix:
  • Problemas corrigidos pelo pacote de hotfix.
  • Os pré-requisitos necessários para instalar o pacote de hotfix.
  • Se tiver de reiniciar o computador depois de instalar o pacote de hotfix.
  • Se o pacote de hotfix é substituído por qualquer outro pacote de hotfix.
  • Se você deve fazer alterações no registro.
  • Os arquivos contidos no pacote de hotfix.

Sintomas

Automação (anteriormente denominado Automação OLE e ActiveX automação) armazena em cache o espaço alocado para seqüências de caracteres BSTR. Isso pode causar IMallocSpy atributo vazamentos de memória para o usuário BSTR errado em um aplicativo que usa a BSTR seqüências do automação. A fonte correta do vazamento pode ser encontrada desativando cache do automação, definindo a variável de ambiente OANOCACHE = 1 antes de executar o aplicativo. Em muitos aplicativos baseados em servidor, o cache BSTR não é necessário. Há um hotfix disponível para desativar BSTR cache em computadores que executam o Windows 2000. Windows XP e Windows Server 2003 não são necessário o hotfix para desativar o cache de BSTR.

Resolução

Um hotfix suportado está disponível no Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico.

Se o hotfix está disponível para download, há uma seção "Download de Hotfix disponível" na parte superior neste artigo da Base de dados de Conhecimento. Se esta seção não for exibido, envie uma solicitação para suporte e atendimento ao cliente Microsoft para obter o hotfix.

Observação Se ocorrerem problemas adicionais ou se qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone de suporte e Atendimento Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Observação O formulário "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.

Pré-requisitos

Você deve ter instalado o Windows 2000 Service Pack 4 (SP4) para aplicar esse hotfix.

Informações sobre reinicialização

Reinicie o computador após aplicar esse hotfix.

Informações do registro

Não é necessário alterar o registro.

Informações sobre o arquivo de hotfix

Esse hotfix contém apenas os arquivos que são necessárias para corrigir os problemas que este artigo lista. Este hotfix não pode conter de todos os arquivos que você deve ter para actualizar completamente um produto para a compilação mais recente.A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Asycfilt.dll2.40.4528.0143.63211 De setembro de 200513: 05x 86
Oleaut32.dll2.40.4528.0631,05611 De setembro de 200513: 05x 86
Olepro32.dll5.0.4528.0164,11211 De setembro de 200513: 05x 86
Stdole2.tlb2.40.4528.016,89623 De agosto de 200502: 13

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Automação armazena em cache o espaço alocado para BSTRs. Isso acelera a seqüência SysAllocString/SysFreeString. No entanto, isso pode causar IMallocSpy a vazamentos de atributo para o usuário de memória incorreto porque não está ciente de cache que executa de automação. Por exemplo, se o aplicativo aloca um BSTR e libera a ele, é colocar o bloco de memória liberado no cache de BSTR pelo automação. Se o aplicativo, em seguida, aloca outro BSTR, ele poderá receber bloco livre do cache. Se a alocação BSTR segunda não é liberada, IMallocSpy será atributo o vazamento como a primeira alocação do BSTR. A origem de vazamento correta (a segunda alocação) pode ser determinada desativando BSTR cache executa de automação. Você pode fazer isso pela configuração de variável de ambiente OANOCACHE = 1 antes de executar o aplicativo. No Windows 2000, a versão de hotfix do oleaut32.dll mencionado neste artigo é necessária. Também é importante procurar vazamentos na hora certa para evitar vazamento false relatórios. Esses vazamentos podem ocorrer quando a implementação IMallocSpy verifica se há vazamentos muito em breve. Os usuários de memória que está alocado pelo IMalloc legitimamente podem armazenar ele após OleUninitialize. Por exemplo, o cache de automação BSTR é excluído do ficheiro Oleaut32.dll DLL_PROCESS_DETACH momento. Isso significa que verificar se há vazamentos imediatamente após OleUninitialize pode causar relatórios falsos de vazamentos de memória. Um bom lugar para procurar vazamentos de memória é no destruidor de uma instância estática de uma classe que implementa o IMallocSpy. O destruidor desta instância estática é chamado após DllMain de cada DLL vinculada pelo aplicativo é chamado com DLL_PROCESS_DETACH.

Definir a variável de ambiente OANOCACHE

  1. No painel de controle, clique duas vezes no ícone sistema . A caixa de diálogo Propriedades do sistema será exibida.
  2. Na guia Avançado , clique em Variáveis de ambiente . A caixa de diálogo Variáveis de ambiente será exibida.
  3. Em variáveis de sistema , clique em novo . A caixa de diálogo New System Variable será exibida.
  4. Tipo OANOCACHE na caixa Nome da variável .
  5. Digite 1 na caixa Valor da variável .
  6. Clique em OK três vezes.
Antes de alterar a variável de ambiente OANOCACHE, você deve interromper os processos de servidor a seguir se eles estiverem executando:
  • O processo Inetinfo
  • O processo Dllhost
  • O processo W3wp
  • O processo Aspnet_wp
Observação Se você não tiver certeza se esses processos do servidor estão em execução, definir a variável de ambiente OANOCACHE = 1 e em seguida, reinicie o computador.

Referências

Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão que é usada para descrever as atualizações de software

A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
Palavras-chave: 
kbmt kbautohotfix kbhotfixserver kbqfe kbexpertiseadvanced kbfix kbpubtypekc kbautomation KB139071 KbMtpt
Tradução automáticaTradução automática
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: 139071  (http://support.microsoft.com/kb/139071/en-us/ )