Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Objawy

Rozważ następujący scenariusz:

  • Tworzenie aplikacji w programie Microsoft Visual C++ 2010.

  • Użyj funkcji fopen() w aplikacji do otwierania pliku, a funkcja używa trybu dostępu r +lub + .

  • Uruchamianie aplikacji i próbuje otworzyć plik, który jest równy lub większy niż 4 gigabajty (GB).


W tym scenariuszu plik nie zostanie otwarty lub zwrócony następujący błąd:

EINVAL (nieprawidłowy argument)

Przyczyna

Ten problem występuje ze względu na sposób fopen() funkcja dąży do końców pliki po ich otwarciu dołączania. Fopen() funkcja używa wewnętrznie _lseek() funkcja do wykonania tej akcji. Jednak funkcja lseek() nie może obsłużyć pliki, które są równe lub większe niż 4 GB.

Rozwiązanie

Ta poprawka zmienia zachowanie rodziny fopen() funkcji. Po zastosowaniu tej poprawki fopen() funkcja używa wewnętrznie funkcji, która może starać się poza limit 4 GB bez zwróceniem błędu. W szczególności fopen() funkcja funkcja _lseeki64() zamiast _lseek() funkcja.

Informacje o poprawce

Obsługiwana poprawka jest obecnie udostępniana przez firmę Microsoft. Jednak jest ona przeznaczona do usunięcia tylko problemu opisanego w tym artykule. Zastosuj ją tylko w systemach, w których występuje ten problem.

Aby rozwiązać ten problem, skontaktuj się z biurem obsługi klienta Microsoft w celu uzyskania poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej firmy Microsoft oraz informacje o kosztach, odwiedź następującą witrynę sieci Web firmy Microsoft:

http://support.microsoft.com/contactus/?ws=supportUwaga W wyjątkowych przypadkach opłaty za połączenie z pomocą techniczną mogą zostać anulowane, jeśli specjalista firmy Microsoft zdecyduje że określona aktualizacja, może rozwiązać Twój problem. Koszty obsługi zwykłych zastosuje się do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej aktualizacji.

Wymagania wstępne

Aby zastosować tę poprawkę, musisz mieć zainstalowane Microsoft Visual Studio 2010 z dodatkiem Service Pack 1 (SP1).

Wymagania dotyczące ponownego uruchomienia

Należy ponownie uruchomić komputer po zainstalowaniu tej poprawki, jeśli są używane pliki podlegające usterce.

Informacje dotyczące zastępowania poprawek

Ta poprawka nie zastępuje wcześniej wydanej poprawki.

Informacje o plikach



Wersja globalna ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć z karty Strefa czasowa w aplecie Data i godzina w Panelu sterowania.

Wszystkie obsługiwane wersje programu Microsoft Visual Studio 2010 z dodatkiem SP1

Nazwa pliku

Wersja pliku

Rozmiar pliku

Data

Godzina

Platforma

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


Więcej informacji

Aby uzyskać więcej informacji na temat innego pakietu poprawek, który dotyczy pakietu redystrybucyjnego oprogramowania Microsoft Visual C++ 2010 z dodatkiem Service Pack 1 (SP1) kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

NAPRAW 2606060 : nie można otworzyć pliku, który jest co najmniej 4 GB do dołączania lub zapisu danych za pomocą aplikacji, która używa pakietu Visual C++ 2010 do dystrybucji


Aby uzyskać więcej informacji na temat funkcji fopen() i _wfopen() odwiedź następującą witrynę MSDN:

Ogólne informacje na temat funkcji fopen() i _wfopen()

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×