掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ハードウェアの取り外し (ID:102114)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ストレージデバイスの場合、書き込み終了後の遅延書き込み時間がある ので、即、反映(フラッシュ)させたい場合は、Ejectさせる前に・・・ CreateFileでドライブを開き DeviceIoControlで、FSCTL_LOCK_VOLUME を実行する。 この際にキャッシュに残っている情報がストレージに書き込まれる。 DeviceIoControlで、FSCTL_UNLOCK_VOLUMEを実行し、CloseHandle してからEjectを実行する手順になります。 ※ 遅延書き込みはデフォルトで5秒くらいだったような・・・ 5秒待てばOS側の処理でフラッシュされますが・・・ 待てないなら上記を実行! ただし、どのみちFSCTL_LOCK_VOLUMEを実行した際、フラッシュ が終わるまで命令がブロックされるので、大容量のバッファを もったストレージの場合は、それなりの時間がかかります。 以上。参考まで
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.