本ページは公開が終了したページの複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。

[SDK16] OpenFile で OF_CREATE | OF_SHARE_EXCLUSIVE を同時指定した時の問題

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
UP
Home
HOMEPAGE
inserted by FC2 system