Thema: Delphi Festplattenzugriffe

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#62

Re: Festplattenzugriffe

  Alt 23. Nov 2006, 18:10
Ä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 MSDN-Library durchsuchenChange Journals besser lösen lassen, vorallem da hierbei kein Überwachungsprogramm die ganze Zeit mitlaufen muß.
> MSDN-Library durchsuchenChange Journals, MSDN-Library durchsuchenREAD_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
$2B or not $2B
  Mit Zitat antworten Zitat