PWJ3314 - 95/12 |
この資料は以下の製品について記述したものです。
この資料は、 Windows Version 3.1 の API 関数 OpenFile でOF_CREATE | OF_SHARE_EXCLUSIVE を同時指定した時の問題について説明したものです。
Windows OpenFile関数で OF_CREATE | OF_SHARE_EXCLUSIVE を同時指定した場合、排他制御は行われず次のファイルも新規作成の状態でオープンされてしまいます。
これは、内部で使用しているDOSのファンクションで OF_CREATE と OF_SHARE_EXCLUSIVEが、1つのビットフラグを使用している為、同時に指定出来ない事が原因です。
ファイルの有無を確認して OF_CREATE か OF_SHARE_EXCLUSIVE どちらかを指定するようにしてください。
例
if ( _dos_findfirst( FILENAME ,0, &fileinfo) )
{
fhdl = OpenFile( FILENAME, &ofbuff, OF_CREATE );
}
else
{
fhdl = OpenFile( FILENAME, &ofbuff, OF_SHARE_EXCLUSIVE );
}
(C)1995 Microsoft Corporation. All rights reserved.
マイクロソフト株式会社 テクニカル サポート
UP |
HOMEPAGE |