Ähhh ja ... gefunden hatt'sch nichts mehr.
Und Google spuckt irgendwie ständig was anderes aus, nur nicht die Seite mit
dem Code.
Zitat von
#41:
ReadDirectoryChangesW fails with ERROR_INVALID_PARAMETER when the buffer length is greater
than 64 KB and the application is monitoring a directory over the network. This is due to a packet size
limitation with the underlying file sharing protocols.
Was das angeht, dann wird ja in jedem Code (welchen ich so sah) die 64 KB verwendet, auch wenn sie bei weitem nicht ausgenutzt werden.
Nach meinen Beobachtungen sind wohl 2*SizeOf(FILE_NOTIFY_INFORMATION) [1064 Bytes], also schöne 2 KB völlig ausreichend.
[size=1]PS: 64 KB = Windows-Speicherseite[/size]
FILE_NOTIFY_CHANGE_LAST_ACCESS:
Hierzu nur 'ne Empfhelung, da dieses oftmal in den Codes da oben auftaucht.
Wählt die zu überwachenden Ereignisse mit bedacht,
denn wenn man Dateiänderungen überwachen möchte, dann ist der Lesezugriff irgendeines Programmes uninteressant.
@Luckie, zwecks "Zugriff verweigert" #23:
ich löse das inzwischen so, daß der Überwachungsthread seine Ereignisse nur in ein Array einträgt (incl. Zeit) und erst dann zeitversetzt in einem anderem Thread ausgewertet wird.
Für Langzeitüberwachungen (ohne sofortige Auswertung) sollte es sich über
Change Journals besser lösen lassen, vorallem da hierbei kein Überwachungsprogramm die ganze Zeit mitlaufen muß.
>
Change Journals,
READ_USN_JOURNAL_DATA
Was diese süße "12-Byte"-Temp-Variable (FNI) angeht, welche hier oftmals verwendet wird ...
wie wäre es, wenn man einfach nur nach PFileNotifiInformation castet?
z.B.: PFileNotifiInformation(P)^.Action