Die Community zu .NET und Classic VB.
Menü

FindFirstChangeNotification

 von 

Deklaration  

Declare Function FindFirstChangeNotification Lib "kernel32" _
                 Alias "FindFirstChangeNotificationA" ( _
                 ByVal lpPathName As String, _
                 ByVal bWatchSubtree As Long, _
                 ByVal dwNotifyFilter As Long) As Long
Weitere 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
lpPathNameEin Zeiger auf einen nullterminierten String, der den Pfad des zu beobachtenden Verzeichnisses enthält.
bWatchSubtreeIst dieser Parameter gleich 1, beobachtet die Funktion den kompletten in lpPathName angegebenen Verzeichnisbaum, ist er auf Null gesetzt wird nur das Verzeichnis überwacht.
dwNotifyFilterDie 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_NAMEBenachrichtigung, wenn sich der Name ein Datei im zu betrachtdenen Verzeichnis oder Teilbaum ändert, sie erzeugt oder gelöscht wird.
FILE_NOTIFY_CHANGE_DIR_NAMEBenachrichtigung, wenn sich der Name eines Verzeichnisses im zu betrachenden Verzeichnis oder Unterverzeichnis ändert, es erzeugt oder gelöscht wird.
FILE_NOTIFY_CHANGE_ATTRIBUTESBenachrichtigung, wenn sich Attribute im zu betrachtenden Verzeichnis oder Unterverzeicnissen ändern.
FILE_NOTIFY_CHANGE_SIZEBenachrichtigung, 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_WRITEBenachrichtigung, 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_SECURITYBenachrichtigung, wenn sich der Sicherheits-Deskriptor im zu betrachtenden Verzeichnis oder Unterverzeicnissen ändert.

Tabelle 2


Rückgabewerte
HandleDas Handle des ersten Benachrichtigungsobjektes
INVALID_HANDLE_VALUEEs 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