Close

FILE_SHARE_DELETEと FILE_FLAG_DELETE_ON_CLOSE

CreateFileでファイルを作成したはいいが、何らかの事情で削除が必要になることがある。
CloseHandleして DeleteFileで良さそうにも思えるけど、これをアトミックに処理する方法がない。
そんな時は CreateFileに FILE_SHARE_DELETEを指定しておく。
すると、CloseHandleしなくても DeleteFileが出来るようになり幸せになれる。
DeleteFileではなく FILE_FLAG_DELETE_ON_CLOSEを指定して CreateFileでもいけるようなのだけど、うまくいかんかった。

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)