印刷用ページ       送信     
クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Win32 および COM 開発
Windows ベース サービス
ファイルおよび入出力
SDK ドキュメント
ファイル入出力
ファイル入出力
リファレンス
関数
 FindFirstChangeNotification 関数

  低帯域幅での表示をオンにする
プラットフォーム SDK
FindFirstChangeNotification

変更通知ハンドルを作成し、変更通知の初期フィルタ条件を設定します。指定されたディレクトリやサブツリーで変更内容がフィルタ条件と一致すると、変更通知ハンドルの待機状態が完了します。

HANDLE FindFirstChangeNotification(
  LPCTSTR lpPathName,    // 監視するディレクトリの名前へのポインタ
  BOOL bWatchSubtree,    // ディレクトリやディレクトリツリーの監視用の
                         // フラグ
  DWORD dwNotifyFilter   // 監視のためのフィルタ条件
);

パラメータ

lpPathName
監視するディレクトリへのパスを表す、NULL で終わる文字列へのポインタを指定します。
bWatchSubtree
この関数でディレクトリやディレクトリツリーを監視するかどうかを指定します。TRUE を指定すると、指定したディレクトリの下にあるディレクトリツリーを監視します。FALSE を指定すると、指定したディレクトリだけを監視します。
dwNotifyFilter
変更通知の待機操作を満たすフィルタ条件として、次のうち 1 つ以上の値を指定します。
意味
FILE_NOTIFY_CHANGE_FILE_NAME 監視中のディレクトリ、またはサブツリーでファイル名が変更されると、変更通知の待機操作から制御が戻ります。ファイル名の変更とは、ファイル名の再作成( 変更)、作成、削除を指します。
FILE_NOTIFY_CHANGE_DIR_NAME 監視中のディレクトリ、またはサブツリーでディレクトリ名が変更されると、変更通知の待機操作から制御が戻ります。ディレクトリ名の変更とは、ディレクトリの作成と削除を指します。
FILE_NOTIFY_CHANGE_ATTRIBUTES 監視中のディレクトリ、またはサブツリーで属性が変更されると、変更通知の待機操作から制御が戻ります。
FILE_NOTIFY_CHANGE_SIZE 監視中のディレクトリまたはサブツリーでファイルサイズが変更されると、変更通知の待機操作から制御が戻ります。オペレーティングシステムがファイルサイズの変更を検出できるのは、ファイルがディスクに書き込まれたときだけです。拡張キャッシュを使うオペレーティングシステムでファイルサイズの変更が検出されるのは、キャッシュが十分にフラッシュされたときだけです。
FILE_NOTIFY_CHANGE_LAST_WRITE 監視中のディレクトリまたはサブツリーでファイルに対する前回の書き込み日時が変更されると、変更通知の待機操作から制御が戻ります。オペレーティングシステムでファイルに対する前回の書き込み日時の変更が検出されるのは、ファイルがディスクに書き込まれたときだけです。拡張キャッシュを使うオペレーティングシステムでファイルに対する前回の書き込み日時の変更が検出されるのは、キャッシュが十分にフラッシュされたときだけです。
FILE_NOTIFY_CHANGE_SECURITY 監視中のディレクトリまたはサブツリーでセキュリティ記述子が変更されると、変更通知の待機操作から制御が戻ります。

戻り値

関数が成功すると、変更通知検索オブジェクトのハンドルが返ります。
関数が失敗すると、INVALID_HANDLE_VALUE が返ります。拡張エラー情報を取得するには、 関数を使います。

解説

は、FindFirstChangeNotification 関数から返されるハンドルを使い、指定されたディレクトリ、またはサブツリーを監視します。監視中のディレクトリやサブツリーでフィルタ条件が 1 つでも満たされると待機操作が終了します。
待機操作が終了すると、アプリケーションはこの条件に応答し、FindNextChangeNotification 関数とその他適切な関数を呼び出してディレクトリの監視を続行することができます。ハンドルが不要になった場合は、FindCloseChangeNotification 関数を使って終了することができます。

対応情報

Windows NT/2000:Windows NT 3.1 以降を使います。
Windows 95/98:Windows 95 以降を使います。
Windows CE:対応していません。
ヘッダー:winbase.h で宣言されています。
インポートライブラリ:kernel32.lib を使います。
Unicode:Windows NT/2000 では Unicode 版と ANSI 版が実装されています。

参照

FindCloseChangeNotificationFindNextChangeNotification

© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker