Einzelnen Beitrag anzeigen

Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#33

Re: Suchmaske nach FindFirst verändern?

  Alt 29. Nov 2009, 20:24
Zitat von PeterPanino:
Nochmals: FindFirst erstellt keine Dateiliste, sondern gibt ein Handle zu einer Suche zurück, die von Windows ausgeführt wird.
Du irrst. FindFirstFile ruft NtQueryDirectoryFile auf. NtQueryDirectoryFile auf der anderen Seite liefert eine Doubly Linked List zurück, über die Du dann im späteren Verlauf mit Hilfe der FindNextFile Funktion iterierst.

Zitat von PeterPanino:
Und: Die Reihenfolge der Iteration ist nicht deshalb konstant, weil die manifestierte Dateiliste nach einem bestimmten Muster sortiert wäre, sondern weil sie UNSORTIERT ist! Du hast richtig gelesen: "Unsortiert" ist also auch eine definierte Reihenfolge, die sich aus der Reihenfolge der Dateien im Dateisystem ergibt.
Unsortiert ist eben eine nicht definierte Reihenfolge, da sie sich jederzeit von einem FindFirstFile Call zum nächsten ändern kann. Auch die Aussage daß es sich dabei zwangsläufig um die Reihenfolge der Dateien im Dateisystem handelt stimmt nicht. Schau Dir die Reihenfolge von Dateien innerhalb der MFT an und vergleiche die Ergebnisse von FindFirstFile/FindNextFile auf dem selben NTFS Volume.
Fridolin Walther
"While Mr. Kim, by virtue of youth and naiveté, has fallen prey to the inexplicable need for human contact, let me step in and assure you that my research will go on uninterrupted, and that social relationships will continue to baffle and repulse me."
  Mit Zitat antworten Zitat