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アクセスを
監視できるのか?
について、アドバイスを頂けませんでしょうか?
宜しくお願い致します。
みなさまお疲れ様です。
上記の問題に関しまして、
Visual C++の掲示板にて「フィルタドライバ」を
利用してはどうかとアドバイスを頂きました。
一度それにチャレンジしてみます。
お騒がせしました。
失礼致します。
ツイート | ![]() |