อาการ
พิจารณาสถานการณ์สมมติต่อไปนี้:
-
คุณสามารถสร้างโปรแกรมประยุกต์ใน Microsoft Visual C++ 2010
-
คุณใช้ฟังก์ชันfopen()ในแอพลิเคชันเพื่อเปิดแฟ้มเอกสาร และฟังก์ชันใช้โหมดการเข้าถึงr +ข้อมูลหรือ+
-
คุณเรียกใช้โปรแกรมประยุกต์ที่มี และ applicationtries ที่จะเปิดแฟ้มที่มีขนาดใหญ่กว่า 4 กิกะไบต์ (GB) หรือเท่ากับ
ในสถานการณ์สมมตินี้ ไม่มีเปิดแฟ้ม หรือจะส่งกลับข้อผิดพลาดต่อไปนี้:
EINVAL (อาร์กิวเมนต์ไม่ถูกต้อง)
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากวิธีการที่ฟังก์ชันfopen()หาการสิ้นสุดของแฟ้มหลังจากนั้นเปิดแฟ้มสำหรับการผนวก ฟังก์ชันfopen()ใช้ฟังก์ชัน_lseek()เพื่อดำเนินการกระทำนี้เป็นการภายใน อย่างไรก็ตาม ฟังก์ชัน_lseek()ไม่สามารถจัดการแฟ้มที่มีขนาดใหญ่กว่า 4 กิกะไบต์ หรือเท่ากับ
การแก้ปัญหา
โปรแกรมแก้ไขด่วนนี้เปลี่ยนลักษณะการทำงานของตระกูลfopen()ของฟังก์ชัน หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้ ฟังก์ชันfopen()ใช้ฟังก์ชันที่สามารถค้นหาเกินกว่าขีดจำกัด 4 กิกะไบต์ โดยไม่มีการส่งคืนข้อผิดพลาด ภายใน โดยเฉพาะอย่างยิ่ง ฟังก์ชันfopen()ใช้ฟังก์ชัน_lseeki64()แทนที่เป็นฟังก์ชัน_lseek()
ข้อมูลโปรแกรมแก้ไขด่วน
โปรแกรมแก้ไขด่วนจะพร้อมใช้งานได้ในขณะนี้จาก Microsoft อย่างไรก็ตาม มีจุดมุ่งหมายที่จะแก้ไขเฉพาะปัญหาที่บทความนี้อธิบายไว้เท่านั้น นำวิธีนี้ไปใช้กับระบบที่ประสบกับปัญหาที่เฉพาะเจาะจงเท่านั้น
หากต้องการแก้ไขปัญหานี้ ให้ติดต่อฝ่ายบริการสนับสนุนลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน สำหรับรายชื่อทั้งหมดของหมายเลขโทรศัพท์ของบริการการสนับสนุนลูกค้าของ Microsoft และข้อมูลเกี่ยวกับค่าใช้จ่ายสนับสนุน แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
http://support.microsoft.com/contactus/?ws=supportหมายเหตุ ในกรณีพิเศษ ค่าบริการที่เรียกเก็บตามปกติเมื่อโทรติดต่อฝ่ายสนับสนุนอาจจะยกเลิกได้หาก Microsoft Support Professional ตัดสินว่าโปรแกรมปรับปรุงที่เฉพาะเจาะจงจะแก้ไขปัญหาของคุณได้ ค่าใช้จ่ายในการสนับสนุนตามปกติจะใช้กับคำถามและปัญหาในการสนับสนุนเพิ่มเติมซึ่งไม่สอดคล้องตามเกณฑ์สำหรับโปรแกรมปรับปรุงเฉพาะที่เกี่ยวข้อง
ข้อกำหนดเบื้องต้น
เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องมี Microsoft Visual Studio 2010 Service Pack 1 (SP1) ติดตั้งอยู่
ข้อกำหนดการรีสตาร์ท
คุณอาจต้องรีสตาร์ทเครื่องคอมพิวเตอร์หลังจากที่คุณติดตั้งโปรแกรมแก้ไขด่วนนี้ถ้ามีการใช้แฟ้มได้รับผลกระทบ
ข้อมูลการแทนที่โปรแกรมแก้ไขด่วน
โปรแกรมแก้ไขด่วนนี้ไม่ได้ใช้แทนโปรแกรมแก้ไขด่วนที่มีการนำออกใช้ก่อนหน้านี้
ข้อมูลแฟ้ม
รุ่นสากลนี้มีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มที่ใหม่กว่า) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันที่และเวลาสำหรับแฟ้มเหล่านี้จะแสดงรายการไว้ในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ระบบจะแปลงข้อมูลนี้เป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้แท็บ โซนเวลา ในรายการ วันที่และเวลา ในแผงควบคุม
สำหรับรุ่นที่สนับสนุนทั้งหมดของ Microsoft Visual Studio 2010 SP1
ชื่อแฟ้ม |
รุ่นของแฟ้ม |
ขนาดของแฟ้ม |
วันที่ |
เวลา |
แพลตฟอร์ม |
---|---|---|---|---|---|
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 |
ข้อมูลเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมแก้ไขด่วนอื่นที่นำไปใช้กับแพคเกจสามารถเผยแพร่ต่อ Microsoft Visual C++ 2010 Service Pack 1 (SP1) คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2606060แก้ไข: คุณไม่สามารถเปิดแฟ้มที่มีอย่างน้อย 4 กิกะไบต์ เพื่อผนวก หรือ เพื่อเขียนข้อมูล โดยใช้โปรแกรมประยุกต์ที่ใช้ Visual C++ 2010 สามารถเผยแพร่ต่อแพคเกจ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันfopen()และ_wfopen()แวะไปเว็บไซต์ MSDN ต่อไปนี้:
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"