FDアクセスのリアルタイム監視について

解決


つよし  2004-10-19 01:31:15  No: 86089

VCの掲示板でも質問させていただきましたが、VBでも
同様の問題と思われますので、御存知の方
アドバイスをいただけますでしょうか?

やりたいこととしまして、FDに対するアクセス(ファイルの作成・
更新など)を監視するプログラムを作成したいと考えています。

ハードディスク内の特定のディレクトリを監視するときと同じように
ReadDirectoryChangesW()を使ってサンプルプログラムを作成し、
ハードディスクでは正常に動作させることができています。

ただしFDに対して同じものを利用すると、FDが装填されていない場合に
CreateFile()がエラーとなり、正常に監視をおこなうことができません。

調べてみると、ReadDirectoryChangesW()は第一引数にHANDLEを要求しますが
この子がFILE_LIST_DIRECTORYアクセス権を持ってCreateFile()された
HANDLEでないといけないようです。FDを装填しない状態で、Aドライブに
対してFILE_LIST_DIRECTORYアクセス権付きでCreateFile()すると
ハンドルが正常に取得できません。

そこで教えて頂きたいのですが、
  ・FDを装填しない状態でもFILE_LIST_DIRECTORYアクセス権付きで
    CreateFile()が正常にハンドル取得できる方法があるのか?
  ・上記が駄目として、FDへのアクセスをリアルタイムで監視でき、
    そのトリガに基づいてReadDirectoryChangesW()を使用する
    方法等があるのか?
  ・根本的に、ReadDirectoryChangesW()以外の方法でFDアクセスを
    監視できるのか?
について、アドバイスを頂けませんでしょうか?

宜しくお願い致します。


つよし  2004-10-21 07:07:56  No: 86090

みなさまお疲れ様です。

上記の問題に関しまして、
Visual C++の掲示板にて「フィルタドライバ」を
利用してはどうかとアドバイスを頂きました。

一度それにチャレンジしてみます。
お騒がせしました。

失礼致します。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加