Sintomi

Si consideri lo scenario seguente:

  • Si crea un'applicazione Microsoft Visual C++ 2010.

  • Utilizzare la funzione fopen() dell'applicazione per aprire un file e la funzione utilizza la modalità di accesso + ro + .

  • Eseguire l'applicazione e il applicationtries per aprire un file che è uguale o maggiore di 4 gigabyte (GB).


In questo scenario, il file non si apre o viene restituito il seguente errore:

EINVAL (argomento non valido)

Causa

Questo problema si verifica a causa del modo che la funzione fopen() Cerca alle estremità dei file dopo l'apertura del file per operazioni di aggiunta. La funzione fopen() internamente la funzione _lseek() per eseguire questa operazione. Tuttavia, la funzione _lseek() non può gestire i file che sono uguali o superiori a 4 GB.

Risoluzione

Questo hotfix modifica il comportamento della famiglia di funzioni fopen() . Dopo avere applicato questo hotfix, la funzione fopen() internamente utilizza una funzione che può richiedere oltre il limite di 4 GB senza restituire un errore. In particolare, la funzione fopen() viene utilizzata la funzione di _lseeki64() anziché la funzione _lseek() .

Informazioni sull'hotfix

Un hotfix supportato è ora disponibile da Microsoft. Tuttavia, destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicarlo solo ai sistemi in cui si verificano questo problema specifico.

Per risolvere questo problema, contattare il supporto tecnico clienti Microsoft per ottenere l'hotfix. Per un elenco completo dei numeri di telefono supporto tecnico clienti Microsoft e informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft:

http://support.microsoft.com/contactus/?ws=supportNota: In casi particolari, le spese normalmente addebitate per le chiamate di supporto potrebbero essere annullate qualora un addetto al supporto Microsoft determina che uno specifico aggiornamento risolverà il problema. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.

Prerequisiti

Per applicare questo hotfix, è necessario disporre di Microsoft Visual Studio 2010 Service Pack 1 (SP1) installato.

Richiesta di riavvio

Potrebbe essere necessario riavviare il computer dopo avere installato questo hotfix se vengono utilizzati i file interessati.

Informazioni sulla sostituzione dell'aggiornamento rapido

Questo hotfix non sostituisce un aggiornamento rapido precedentemente rilasciato.

Informazioni sui file



La versione globale di questo presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e ore dei file sono elencate in base al formato UTC (Coordinated Universal Time Coordinated). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e ora locale, utilizzare la scheda fuso orario nell'elemento di Data e ora nel Pannello di controllo.

Per tutte le versioni supportate di Microsoft Visual Studio 2010 SP1

Nome del file

Versione del file

Dimensione del file

Data

Ora

Piattaforma

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


Ulteriori informazioni

Per ulteriori informazioni su un altro pacchetto di hotfix che si applica a Microsoft Visual C++ 2010 Service Pack 1 (SP1) Redistributable Package, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

2606060 FIX: È possibile aprire un file che è almeno 4 GB per aggiungere o scrivere i dati utilizzando un'applicazione che utilizza Visual C++ 2010 Redistributable Package


Per ulteriori informazioni sulle funzioni fopen() e _wfopen() , visitare il seguente sito Web MSDN:

Informazioni generali sulle funzioni fopen() e _wfopen()

Stato

Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?

Grazie per il feedback!

×