CORREÇÃO: Não é possível abrir um arquivo que é pelo menos 4 GB para acrescentar ou gravar dados usando um aplicativo do Visual C++ 2010

Sintomas

Considere o seguinte cenário:

  • Você cria um aplicativo no Microsoft Visual C++ 2010.

  • Usar a função fopen() no aplicativo para abrir um arquivo e a função usa o modo de acesso r +ou + .

  • Execute o aplicativo e o applicationtries para abrir um arquivo que é igual ou maior que 4 gigabytes (GB).


Nesse cenário, o arquivo não abrir ou retornado o seguinte erro:

EINVAL (argumento inválido)

Causa

Esse problema ocorre devido ao modo como a função fopen() procura nas extremidades dos arquivos depois que ele abre os arquivos para acrescentar. Internamente, a função fopen() usa a função _lseek() para executar esta ação. No entanto, a função _lseek() não pode manipular arquivos que são iguais ou maiores do que 4 GB.

Resolução

Este hotfix altera o comportamento da família de funções fopen() . Depois de aplicar esse hotfix, a função fopen() internamente usa uma função que pode buscar além do limite de 4 GB sem retornar um erro. Especificamente, a função de fopen() usa a função _lseeki64() em vez da função _lseek() .

Informações sobre o hotfix

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

Para resolver esse problema, contate o Atendimento Microsoft para obter o hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e informações sobre custos de suporte, visite o seguinte site da Microsoft:

http://support.microsoft.com/contactus/?ws=supportObservação: em alguns casos, as taxas cobradas para chamadas de suporte podem ser canceladas caso um profissional de Suporte da Microsoft determine que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados para questões de suporte adicionais e problemas que não se qualificam à atualização específica em questão.

Pré-requisitos:

Para aplicar esse hotfix, você deve ter o Microsoft Visual Studio 2010 Service Pack 1 (SP1) instalado.

Requisitos de reinicialização:

Você terá que reiniciar o computador após instalar esse hotfix, se os arquivos afetados estão sendo usados.

Informações de substituição do hotfix:

Esse hotfix não substitui um hotfix lançado anteriormente.

Informações sobre o arquivo:



A versão global tem os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na Hora Universal Coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para localizar a diferença entre o UTC e a hora local, use a guia Fuso Horário no item Data e Hora no Painel de Controle.

Para todas as versões com suporte do Microsoft Visual Studio 2010 SP1

Nome do Arquivo

Versão do arquivo

Tamanho do arquivo

Data

Hora

Plataforma

Mfcm100.dll

10.0.40219.362

82,696

15-Nov-2011

22:32

x86

Mfcm100d.dll

10.0.40219.362

104,720

16-Nov-2011

00:29

x86

Mfcm100u.dll

10.0.40219.362

82,704

15-Nov-2011

22:32

x86

Mfcm100ud.dll

10.0.40219.362

106,256

16-Nov-2011

00:29

x86

Mfcm100.dll

10.0.40219.362

93,960

15-Nov-2011

21:54

x64

Mfcm100d.dll

10.0.40219.362

120,592

15-Nov-2011

23:56

x64

Mfcm100u.dll

10.0.40219.362

93,968

15-Nov-2011

21:54

x64

Mfcm100ud.dll

10.0.40219.362

122,128

15-Nov-2011

23:56

x64

Mfcmifc80.dll

10.0.40219.362

14,096

16-Nov-2011

21:26

x86


Mais informações

Para obter mais informações sobre outro pacote de hotfix que se aplica ao pacote redistribuível do Microsoft Visual C++ 2010 Service Pack 1 (SP1), clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

Corrigir 2606060 : não é possível abrir um arquivo que é pelo menos 4 GB para acrescentar ou gravar dados usando um aplicativo que usa o Visual C++ 2010 Redistributable Package


Para obter mais informações sobre as funções fopen() e _wfopen() , visite o seguinte site da MSDN:

Informações gerais sobre as funções fopen() e _wfopen()

Status

A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×