FindFirstChangeNotification
von ActiveVB-Team
Deklaration
Declare Function FindFirstChangeNotification Lib "kernel32" _ Alias "FindFirstChangeNotificationA" ( _ ByVal lpPathName As String, _ ByVal bWatchSubtree As Long, _ ByVal dwNotifyFilter As Long) As LongWeitere Informationen zur Verwendung dieser Funktion finden sie u.U. auch im Artikel FindFirstChangeNotification des API-Wikis.
FindFirstChangeNotification erzeugt für ein zu überwachendes Verzeichnis ein Handle und legt die Filter für die Überwachung fest. Das Warten auf eine Änderung ist erfolgreich, wenn in dem benannten Verzeichnis oder den Folge-Unterverzeichnissen eine Änderung auftritt, die sich mit den gesetzten Filterbestimmungen deckt. Die Funktionen WaitForSingleObject und WaitForMultipleObjects beobachten das angegebene Verzeichnis oder Unterverzeichnis, welche sich auf das von der Funktion zurückgegebene Handle beziehen.
Parameter | |
---|---|
lpPathName | Ein Zeiger auf einen nullterminierten String, der den Pfad des zu beobachtenden Verzeichnisses enthält. |
bWatchSubtree | Ist dieser Parameter gleich 1, beobachtet die Funktion den kompletten in lpPathName angegebenen Verzeichnisbaum, ist er auf Null gesetzt wird nur das Verzeichnis überwacht. |
dwNotifyFilter | Die Filterbedingungen für die zu meldenden Veränderungen. Dieser Parameter kann eine oder mehrere Oder-verknüpfte Konstanten dieser Tabelle annehmen. |
Tabelle 1
Filterwerte für dwNotifyFilter | |
---|---|
FILE_NOTIFY_CHANGE_FILE_NAME | Benachrichtigung, wenn sich der Name ein Datei im zu betrachtdenen Verzeichnis oder Teilbaum ändert, sie erzeugt oder gelöscht wird. |
FILE_NOTIFY_CHANGE_DIR_NAME | Benachrichtigung, wenn sich der Name eines Verzeichnisses im zu betrachenden Verzeichnis oder Unterverzeichnis ändert, es erzeugt oder gelöscht wird. |
FILE_NOTIFY_CHANGE_ATTRIBUTES | Benachrichtigung, wenn sich Attribute im zu betrachtenden Verzeichnis oder Unterverzeicnissen ändern. |
FILE_NOTIFY_CHANGE_SIZE | Benachrichtigung, wenn sich eine Dateigröße im zu betrachtenden Verzeichnis oder Unterverzeicnissen ändert. Das Betriebsystem bemerkt eine solche Änderung nur, wenn die Datei auf die Platte geschrieben wird. Bei Betriebssystemen die extensives Caching einsetzen, wird die Änderung erst bemerkt, wenn das Cache zurück auf die Platte geschrieben wird. |
FILE_NOTIFY_CHANGE_LAST_WRITE | Benachrichtigung, wenn sich die Zeit der letzten Änderung im zu betrachtenden Verzeichnis oder Unterverzeicnissen ändert. Zu beachten sind die Hinweise zum Thema Caching, welche beim Filterwert FILE_NOTIFY_CHANGE_SIZE gegeben wurden, da das Caching des Betriebssystem auch das Auslösen dieser Bedingung beeinflusst. |
FILE_NOTIFY_CHANGE_SECURITY | Benachrichtigung, wenn sich der Sicherheits-Deskriptor im zu betrachtenden Verzeichnis oder Unterverzeicnissen ändert. |
Tabelle 2
Rückgabewerte | |
---|---|
Handle | Das Handle des ersten Benachrichtigungsobjektes |
INVALID_HANDLE_VALUE | Es liegt ein Fehler vor. |
Tabelle 3
Unterstützte Betriebssysteme
Win32s, Windows 95, Windows 98, Windows NT
Verwandte API-Funktionen
FindCloseChangeNotification, FindNextChangeNotification, WaitForMultipleObjects, WaitForSingleObject
Zugehörige Tipps