Khắc phục: Bạn không thể mở tệp tối thiểu 4 GB thêm hoặc ghi dữ liệu bằng cách sử dụng một ứng dụng Visual C++ 2010

Triệu chứng

Xem xét tình huống sau:

  • Bạn tạo một ứng dụng trong Microsoft Visual C++ 2010.

  • Bạn sử dụng chức năng fopen() trong ứng dụng để mở tệp, và sử dụng chức năng r +, mộthoặc một + truy cập chế độ.

  • Bạn chạy ứng dụng và các applicationtries mở tệp bằng hoặc lớn hơn 4 gigabyte (GB).


Trong trường hợp này, tệp không mở hoặc bị trả về lỗi sau:

EINVAL (đối số không hợp lệ)

Nguyên nhân

Sự cố này xảy ra do cách chức fopen() tìm cách để kết thúc tệp sau đó mở tệp để. Hàm fopen() nội bộ sử dụng hàm _lseek() để thực hiện thao tác này. Tuy nhiên, hàm _lseek() không thể xử lý tệp bằng hoặc lớn hơn 4 GB.

Giải pháp

Hotfix này thay đổi hành vi của họ fopen() chức năng. Sau khi bạn áp dụng hotfix này, hàm fopen() nội bộ sử dụng một chức năng có thể tìm kiếm vượt quá giới hạn 4 GB không trả lại lỗi. Cụ thể, hàm fopen() sử dụng hàm _lseeki64() thay vì chức năng _lseek() .

Thông tin về cập nhật nóng

Microsoft hiện đã cung cấp bản cập nhật nóng được hỗ trợ. Tuy nhiên, nó là nhằm sửa chỉ vấn đề bài viết này mô tả. Áp dụng cho các hệ thống đang gặp sự cố cụ thể này.

Để khắc phục sự cố này, hãy liên hệ với dịch vụ hỗ trợ khách hàng Microsoft để lấy hotfix. Để biết danh sách đầy đủ số điện thoại Dịch vụ hỗ trợ khách hàng của Microsoft và thông tin về chi phí hỗ trợ, ghé thăm website sau của Microsoft:

http://support.microsoft.com/contactus/?ws=supportLưu ý Trong trường hợp đặc biệt, chi phí thường phát sinh cho cuộc gọi hỗ trợ có thể bị hủy bỏ nếu chuyên viên hỗ trợ Microsoft xác định rằng một Cập Nhật cụ thể sẽ giải quyết vấn đề của bạn. Chi phí hỗ trợ thông thường sẽ áp dụng cho các vấn đề không phù hợp với bản Cập Nhật cụ thể trong câu hỏi và câu hỏi hỗ trợ bổ sung.

Điều kiện tiên quyết

Để áp dụng hotfix này, bạn phải có Microsoft Visual Studio 2010 gói dịch vụ 1 (SP1) được cài đặt.

Yêu cầu khởi động lại

Bạn có thể phải khởi động lại máy tính sau khi bạn cài đặt hotfix này nếu tệp bị ảnh hưởng đang được sử dụng.

Thông tin thay thế cập nhật nóng

Cập nhật nóng này không thay thế cập nhật nóng được phát hành trước đó.

Thông tin về tệp



Phiên bản toàn cầu này có thuộc tính tệp (hoặc các thuộc tính tệp mới hơn) được liệt kê trong bảng sau. Ngày và giờ của các tệp này được liệt kê theo Giờ Quốc tế Phối hợp (UTC). Khi bạn xem thông tin về tệp, ngày và giờ được chuyển đổi thành giờ địa phương. Để tìm sự khác nhau giữa UTC và giờ địa phương, sử dụng tab Múi Giờ trong mục Ngày và Giờ trong Pa-nen điều khiển.

Đối với tất cả các phiên bản được hỗ trợ của Microsoft Visual Studio 2010 SP1

Tên tệp

Phiên bản tệp

Kích thước tệp

Ngày

Giờ

Nền tảng

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 người

16-Nov-2011

21:26

x86


Thông tin

Để biết thêm chi tiết về gói hotfix khác áp dụng cho Microsoft Visual C++ 2010 Service Pack 1 (SP1) Redistributable Package, hãy bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

2606060 khắc phục: bạn không thể mở tệp tối thiểu 4 GB thêm hoặc ghi dữ liệu bằng cách sử dụng ứng dụng sử dụng Visual C++ 2010 Redistributable gói


Để biết thêm chi tiết về các hàm fopen() và _wfopen() , ghé thăm website sau của MSDN:

Thông tin chung về chức năng fopen() và _wfopen()

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×