FileSystemWatcher を使用して特定のディレクトリの変更を監視する .NET 2.0 フレームワークを使用して C# で記述された Windows サービスがあります。これらのディレクトリの一部は、USB ドライブなどのリムーバブル メディア上にある場合があります。新しいドライブがシステムに接続されると、WMI クエリを介して通知を受け取り、新しい FileSystemWatcher をセットアップできます。すべてがうまく機能します。
問題は、ユーザーが Windows の「ハードウェアの安全な取り外し」アプリを使用してドライブを取り出せるようにしたいのですが、FileSystemWatcher を介してドライブを監視しているため、Windows はドライブがビジーであると報告し、ユーザーにドライブを取り出せないことを伝えます。削除されました。
私の質問は、ファイル システム モニターを削除して要求を成功させるために、ユーザーがいつイジェクトを要求したかを Windows サービスがどのように知ることができるかということです。