Belirtiler
Aşağıdaki senaryoyu düşünün:
-
Microsoft Visual C++ 2010'de bir uygulama oluşturun.
-
Bir dosyayı açmak için uygulamada fopen() işlevini kullanın ve r +veya a + erişim modu işlevini kullanır.
-
Uygulama ve applicationtries eşit veya 4 gigabayttan (GB) büyük olan bir dosyayı açmak için çalıştırın.
Bu senaryoda, dosya açılmaz ve şu hatayı döndürdü:
EINVAL (geçersiz bağımsız değişken)
Neden
Ekleme için dosyaları açtıktan sonra fopen() işlevi aradığı dosya sonunu yolu nedeniyle bu sorun oluşur. Fopen() işlevi _lseek() işlevi bu eylemi gerçekleştirmek için dahili olarak kullanır. Ancak, _lseek() işlevi eşit veya 4 GB'den büyük dosyaları işleyemez.
Çözüm
Bu düzeltme, fopen() ailesi işlevlerini davranışını değiştirir. Bu düzeltmeyi uyguladıktan sonra fopen() işlevi, 4 GB sınırı bir hata dönmeden arama işlevi dahili olarak kullanır. Özellikle, fopen() işlevi _lseek() işlevini yerine _lseeki64() işlevini kullanır.
Düzeltme bilgileri
Artık Microsoft tarafından desteklenen bir düzeltme sağlanmaktadır. Ancak, bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Yalnızca bu özel sorunla karşılaşmış olan sistemlere uygulayın.
Bu sorunu çözmek için düzeltmeyi edinmek üzere Microsoft Müşteri Destek Hizmetleri'ne başvurun. Microsoft Müşteri Destek Hizmetleri telefon numaralarının ve destek ücretleriyle ilgili bilgi tam listesi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=supportNot: Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu çözeceğini belirlerse, destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.
Önkoşullar
Bu düzeltmeyi uygulamak için Microsoft Visual Studio 2010 Service Pack yüklü 1 (SP1) olması gerekir.
Yeniden başlatma gereksinimi
Etkilenen dosyalar kullanılıyorsa, bu düzeltmeyi yükledikten sonra bilgisayarı yeniden başlatmanız gerekebilir.
Düzeltme değiştirme bilgileri
Bu düzeltme önceden yayımlanmış bir düzeltmenin yerini almaz.
Dosya bilgileri
Bu genel sürümü dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahip aşağıdaki tabloda listelenir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'te (UTC) listelenmiştir. Dosya bilgilerini görüntülediğinizde koordinatlı evrensel saat yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için Denetim Masası'ndaki Tarih ve Saat öğesinde Saat Dilimi sekmesini kullanın.
Microsoft Visual Studio 2010 SP1'in tüm desteklenen sürümleri için
Dosya adı |
Dosya sürümü |
Dosya boyutu |
Tarih |
Saat |
Platform |
---|---|---|---|---|---|
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 |
Daha fazla bilgi
Microsoft Visual C++ 2010 Service Pack 1 (SP1) yeniden dağıtılabilir paketi için geçerli olan başka bir düzeltme paketi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2606060 düzeltme: en az 4 GB ekleme veya Visual C++ 2010 yeniden dağıtılabilir paketi kullanan bir uygulama kullanarak veri yazmak için bir dosya açılamıyor
Fopen() ve _wfopen() işlevleri hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.