C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.97723 の関連記事表示

<< 0 >>
■97723  FileSystemWatcherのNotifyFilter
□投稿者/ PATIO -(2021/07/06(Tue) 14:14:05)

    分類:[VB.NET/VB2005 以降] 

    ずいぶんお久しぶりの書込みです。

    しばらくプログラミングから離れていたんですが、
    必要に迫られてVB.netでプログラミングをしてみています。

    ファイルの挙動をトリガに動作するプログラムを作成する為に
    FileSystemWatcherを色々試してみているのですが、
    FileSystemWatcherのNotifyFilterの設定がChanged以外のイベントにも
    影響を及ぼしているようなのですが、この辺の関係についての資料ってある物なのでしょうか。
    軽く検索したくらいでは出てこないので資料化されていないのではと考えています。

    私が引っかかったのは、FilterにFileNameが入っていないとDeletedが発生しないというのがありました。
    FilterにSizeだけ設定して確認していたんですが、この状態ではDeletedは発生しませんでした。

    この組み合わせについて資料があれば助かるのですが、どなたかご存じありませんか。
親記事 /過去ログ169より / 関連記事表示
削除チェック/

■97728  Re[1]: FileSystemWatcherのNotifyFilter
□投稿者/ Azulean -(2021/07/06(Tue) 22:04:11)
    No97723 (PATIO さん) に返信
    > FileSystemWatcherのNotifyFilterの設定がChanged以外のイベントにも
    > 影響を及ぼしているようなのですが、この辺の関係についての資料ってある物なのでしょうか。
    逆に疑問なのですが、Changed だけだと思ってしまう流れは何かありますか?
    ドキュメント構成上、特定のイベントにだけ影響するような記載はないはずです。

    > 私が引っかかったのは、FilterにFileNameが入っていないとDeletedが発生しないというのがありました。
    Filter というプロパティもあるのですから、変に略さないでください。誤解を招くので…。

    NotifyFilter プロパティの話だとして、そういった対応表はないと思います。
    列挙値の一覧を見て、抜いたら機能しなさそうだなぁ…で想像するところでしょうか。

    どうしてもといわれるのであれば、FileSystemWatcher のソースコードを見るところでしょうか。
    https://referencesource.microsoft.com/#System/services/io/system/io/FileSystemWatcher.cs,729

    そこから呼ばれている ReadDirectoryChangesW のパラメーター説明を読めば、一応、ここではファイル削除の例は示されています。
    "Any file name change in the watched directory or subtree causes a change notification wait operation to return. Changes include renaming, creating, or deleting a file."
    https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-readdirectorychangesw
記事No.97723 のレス /過去ログ169より / 関連記事表示
削除チェック/

■97800  Re[2]: FileSystemWatcherのNotifyFilter
□投稿者/ PATIO -(2021/07/14(Wed) 15:06:33)
    No97728 (Azulean さん) に返信
    > ■No97723 (PATIO さん) に返信
    >>FileSystemWatcherのNotifyFilterの設定がChanged以外のイベントにも
    >>影響を及ぼしているようなのですが、この辺の関係についての資料ってある物なのでしょうか。
    > 逆に疑問なのですが、Changed だけだと思ってしまう流れは何かありますか?
    > ドキュメント構成上、特定のイベントにだけ影響するような記載はないはずです。

    確かに記述はないですね。
    Changedの場合は変化対象が複数あるからフィルターがあって
    そのほかに関してはファイル自体の話なので関係なさそうな気がしていただけなので
    まあ、言われてみればという話です。

    >>私が引っかかったのは、FilterにFileNameが入っていないとDeletedが発生しないというのがありました。
    > Filter というプロパティもあるのですから、変に略さないでください。誤解を招くので…。
    >
    > NotifyFilter プロパティの話だとして、そういった対応表はないと思います。
    > 列挙値の一覧を見て、抜いたら機能しなさそうだなぁ…で想像するところでしょうか。

    すいません、うっかりやってしまいました。
    NotifyFilterで正しいです。
    あー、やはりやってみるしかないという類の奴なんですね。

    > どうしてもといわれるのであれば、FileSystemWatcher のソースコードを見るところでしょうか。
    > https://referencesource.microsoft.com/#System/services/io/system/io/FileSystemWatcher.cs,729
    >
    > そこから呼ばれている ReadDirectoryChangesW のパラメーター説明を読めば、一応、ここではファイル削除の例は示されています。
    > "Any file name change in the watched directory or subtree causes a change notification wait operation to return. Changes include renaming, creating, or deleting a file."
    > https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-readdirectorychangesw

    Microsoftが提示している資料として展開できる物があればと思ったんですが、
    直接的に説明をしている資料はないのですね。
    なければ、トライ アンド エラーでやってみるしかないのでそういう物であると展開する事になると思います。
記事No.97723 のレス / END /過去ログ169より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -