CORRECTIF : Vous ne pouvez pas ouvrir un fichier qui est au moins 4 Go pour ajouter ou pour écrire des données à l’aide d’une application Visual C++ 2010

Symptômes

Considérez le scénario suivant :

  • Vous créez une application dans Microsoft Visual C++ 2010.

  • Vous utilisez la fonction fopen() dans l’application pour ouvrir un fichier, et la fonction utilise le mode d’accès r +ou a + .

  • Vous exécutez l’application et l’applicationtries pour ouvrir un fichier qui est égale ou supérieure à 4 gigaoctets (Go).


Dans ce scénario, le fichier ne s’ouvre pas, ou le message d’erreur suivant est renvoyé :

EINVAL (argument non valide)

Cause

Ce problème se produit en raison de la façon dont la fonction fopen() recherche à la fin des fichiers une fois qu’il ouvre les fichiers pour permettre l’ajout. La fonction fopen() utilise en interne la fonction _lseek() pour effectuer cette action. Toutefois, la fonction _lseek() ne peut pas gérer les fichiers qui sont égaux ou supérieurs à 4 Go.

Résolution

Ce correctif modifie le comportement de la famille des fopen() de fonctions. Après avoir appliqué ce correctif logiciel, la fonction fopen() utilise en interne une fonction que vous pouvez effectuer une recherche au-delà de la limite de 4 Go sans renvoyer une erreur. Plus précisément, la fonction fopen() utilise la fonction _lseeki64() au lieu de la fonction _lseek() .

Informations sur le correctif

Un correctif pris en charge est désormais disponible auprès de Microsoft. Toutefois, il est conçu pour résoudre uniquement le problème décrit dans cet article. Il s’applique uniquement aux systèmes rencontrant ce problème spécifique.

Pour résoudre ce problème, contactez les Services de Support technique Microsoft pour obtenir le correctif. Pour obtenir une liste complète des numéros de téléphone des Services de Support technique Microsoft et des informations relatives aux frais de support technique, visitez le site Web Microsoft suivant :

http://support.microsoft.com/contactus/?ws=supportRemarque Dans des cas particuliers, des frais généralement encourus pour les appels au support technique peuvent être annulés si un technicien du support technique Microsoft détermine qu'une mise à jour spécifique peut résoudre votre problème. Les coûts habituels du support technique s’appliqueront aux autres questions et problèmes qui ne relèvent pas de la mise à jour spécifique en question.

Conditions préalables

Pour appliquer ce correctif, vous devez disposer de Microsoft Visual Studio 2010 Service Pack 1 (SP1) est installé.

Nécessite un redémarrage

Vous devrez peut-être redémarrer l’ordinateur après avoir installé ce correctif logiciel si les fichiers concernés sont utilisés.

Informations de remplacement du correctif

Ce correctif ne remplace pas un correctif précédemment publié.

Informations sur les fichiers



La version globale de ce a les attributs de fichier (ou ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, elles sont converties en heure locale. Pour trouver la différence entre l’UTC et l’heure locale, utilisez l’onglet fuseau horaire dans l’élément de Date et heure dans le panneau de configuration.

Pour toutes les versions prises en charge de Microsoft Visual Studio 2010 SP1

Nom de fichier

Version de fichier

Taille du fichier

Date

Heure

Plateforme

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


Plus d'informations

Pour plus d’informations à propos d’un autre package de correctif qui s’applique au Package redistribuable de Microsoft Visual C++ 2010 Service Pack 1 (SP1), cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

2606060 correctif : vous ne pouvez pas ouvrir un fichier qui est au moins 4 Go pour ajouter ou pour écrire des données à l’aide d’une application qui utilise le Package redistribuable Visual C++ 2010


Pour plus d’informations sur les fonctions fopen() et _wfopen() , reportez-vous au site Web MSDN suivant :

Informations générales sur les fonctions fopen() et _wfopen()

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×