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:
Stato
Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".