CORRECÇÃO: Empacotamento de estruturas que contêm campos SafeArray

ID do artigo: 322172 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Nesta página

Sintomas

Se você tiver não gerenciadas estruturas que contêm campos de tipo de SafeArray , e se você usar Tlbimp para usar as estruturas do código gerenciado, você receberá uma mensagem de erro OutOfMemoryException .

Causa

O Microsoft Type Library Importer atualmente importa campos do tipo SafeArray em estruturas e marca esses campos como empacotável. No entanto, o empacotador de tempo de execução .NET idioma comum não oferece suporte a SafeArray campos e normalmente gera um erro de OutOfMemoryException . O hotfix corrige o problema adicionando funcionalidade o empacotador de tempo de execução de linguagem comuns para oferecer suporte a esse cenário.

Resolução

Um hotfix suportado agora está disponível da Microsoft, mas destina-se somente a corrigir o problema descrito neste artigo. Aplique-o somente nos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde o próximo service pack do .NET Framework que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter a correção. Para obter uma lista completa dos números de telefone do Atendimento Microsoft do e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação : em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos de suporte normais serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

A versão em inglês dessa correção apresenta os atributos de arquivo (ou posteriores) listados na tabela a seguir. As datas e horas desses arquivos são listadas na acordo hora universal coordenada (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.
   Date         Time  Version               Size  File name
   -----------------------------------------------------------
   14-Jun-2002  02:10  1.0.3705.289    1,953,792  Mscorlib.dll     
   13-Jun-2002  08:02  1.0.3705.289      143,360  Mscorrc.dll      
   13-Jun-2002  08:01  1.0.3705.289    2,265,088  Mscorsvr.dll     
   13-Jun-2002  08:01  1.0.3705.289    2,265,088  Mscorwks.dll     
				

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo.

Mais Informações

Passos para reproduzir o problema

  1. Criar uma biblioteca de tipo para o seguinte código Microsoft Visual Basic 6.0:
    Public Type TypeUsedforSafeArray
        data As String
    End Type
    
    Public Type TypeTestingSafeArray
        data As String
        safeArray() As TypeUsedforSafeArray
    End Type
    					
  2. Use Tlbimp para importar a biblioteca de tipos.
  3. Use o assembly resultante do código gerenciado.
Você receber uma mensagem de erro OutOfMemoryException .

Referências

Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
317624Erro: System.OutOfMemoryException iniciadas quando você invocar um método COM que retorna uma estrutura que contém uma matriz de seqüência

Propriedades

ID do artigo: 322172 - Última revisão: segunda-feira, 12 de fevereiro de 2007 - Revisão: 2.4
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 1.0 Service Pack 1
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbbug kbcominterop kbfix kbqfe KB322172 KbMtpt
Traduçã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: 322172
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários