FindNextChangeNotification 関数 (fileapi.h)
次回、適切な変更が検出されたとき、オペレーティング システムから変更通知ハンドルの信号を送るように要求します。
構文
BOOL FindNextChangeNotification(
[in] HANDLE hChangeHandle
);
パラメーター
[in] hChangeHandle
FindFirstChangeNotification 関数によって作成された変更通知ハンドルへのハンドル。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
FindNextChangeNotification 関数が正常に返された後、アプリケーションは待機関数を使用して変更が発生したことを示す通知を待機できます。
FindFirstChangeNotification の呼び出しの後、FindNextChangeNotification の呼び出しの前に変更が発生した場合、オペレーティング システムは変更を記録します。 FindNextChangeNotification が実行されると、記録された変更は変更通知の待機をすぐに満たします。
FindNextChangeNotification を正常に呼び出すたびに、待機関数の 1 つを呼び出す必要があります。 通知される変更通知ハンドル以外の理由で待機関数がを返す場合 (たとえば、待機がタイムアウトした場合)、アプリケーションは待機を再試行する必要があります。 この規則に従しないと、システムが最終的にリソースを使い果たしてしまう可能性があります。 また、アプリケーションが変更通知を見逃す可能性もあります。
hChangeHandle が不要になったら、FindCloseChangeNotification 関数を使用して閉じます。
Windows 8 と Windows Server 2012 では、この関数は、次のテクノロジによってサポートされています。
テクノロジ | サポートされています |
---|---|
サーバー メッセージ ブロック (SMB) 3.0 プロトコル | はい |
SMB 3.0 Transparent Failover (TFO) | はい |
スケールアウト ファイル共有 (SO) を使う SMB 3.0 | はい |
クラスターの共有ボリューム ファイル システム (CsvFS) | 解説を参照してください |
Resilient File System (ReFS) | はい |
CsvFs の一時停止/再開で、アプリケーションで誤検知が発生する可能性があります。
例
例については、「 ディレクトリ変更通知の取得」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | fileapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |