現象
次のような状況を考えます。
-
Microsoft Visual C++ 2010 のアプリケーションを作成するとします。
-
アプリケーションで、ファイルを開く、 fopen()関数を使用して、関数は、 r +、 、またはa +アクセス モードを使用します。
-
4 ギガバイト (GB) 以上のファイルを開くには、アプリケーションと、applicationtries を実行するとします。
このシナリオでは、ファイルが開かない、または次のエラーが返されます。
EINVAL (引数が無効です)
原因
この問題は、追加モードでファイルを開いた後、ファイルの末尾に、 fopen()関数では検索されることによって発生します。Fopen()関数では、内部的に、 _lseek()関数を使用してこの操作を実行します。ただし、 _lseek()関数は、4 GB 以上のファイルを処理できません。
解決策
この修正プログラムでは、 fopen()のファミリの関数の動作を変更します。この修正プログラムを適用した後、 fopen()関数は内部的にエラーを返さずに 4 GB の制限を超えてシークできる関数を使用します。具体的には、 fopen()関数では、 _lseek()関数の代わりに_lseeki64()関数を使用します。
修正プログラムの情報
サポートされている修正プログラムはマイクロソフトから現在入手可能です。ただし、それはこの資料に記載された問題のみを修正するものです。この特定の問題が発生したシステムにのみ適用してください。
この問題を解決するには、修正プログラムを入手するよう、Microsoft カスタマー サポート サービスに問い合わせてください。Microsoft カスタマー サポート サービスの電話番号とサポート コストに関する情報の完全なリストは、次のマイクロソフト web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support注: 特別な場合では、まれに通常サポート コールの発生に料金 Microsoft Support 担当者は、特定の更新で問題が解決されると判断した。追加の質問および問題の特定のアップデートの対象にはなりませんが、通常のサポート料金が適用されます。
必要条件
この修正プログラムを適用するには、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) の再頒布可能パッケージに適用される別の修正プログラム パッケージの詳細については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。
2606060の修正: を追加または Visual C++ 2010 再頒布可能パッケージを使用するアプリケーションを使用してデータを作成するには、少なくとも 4 GB のファイルを開くことはできません
Fopen()関数および_wfopen()関数の詳細については、次の MSDN web サイトを参照してください。
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。