Forum: Win32/Win64 API (native code)
Delphi
by Fridolin Walther,
30. Nov 2009
Das galt eigentlich Hitzi. Hab mal ein Zitat hinzugefügt um es eindeutiger zu machen ;).
Forum: Win32/Win64 API (native code)
Delphi
by Fridolin Walther,
30. Nov 2009
Ich glaube Du verwechselst grade Sektoren mit Clustern.
Forum: Win32/Win64 API (native code)
Delphi
by Fridolin Walther,
30. Nov 2009
Die Aussage ist, wie alle anderen von Dir getroffenen Aussagen über File System und Kernel Internas, falsch. Google nach WRK (Windows Research Kernel). Ebenfalls sind Teile von Windows (wie z.B. der FAT Treiber) als Samples im WDK enthalten. Abgesehen davon kannst Du natürlich jederzeit in die "Blackbox" reinschauen und nachvollziehen was dort vor sich geht. WinDBG ist Dein Freund.
Forum: Win32/Win64 API (native code)
Delphi
by Fridolin Walther,
29. Nov 2009
Nein, Du hast gesagt: "FindFirst erstellt keine Dateiliste". Und diese Aussage ist schlicht und ergreifend falsch. Sieh es ein. Und es ist eben nicht irrelevant in Hinblick auf das Thema. Da Du nämlich mit jedem FindFirst Call eine neue Liste erstellst, deren Nodes zufällig angeordnet sein können.
Ich muss gar nichts beweisen.
Eigentlich ist die MFT relativ simpel und es gibt auch keine...
Forum: Win32/Win64 API (native code)
Delphi
by Fridolin Walther,
29. Nov 2009
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.
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...
Forum: Win32/Win64 API (native code)
Delphi
by Fridolin Walther,
29. Nov 2009
Und genau da liegst Du falsch. Von einer offensichtlichen Race Condition, die eintritt, wenn neue Einträge hinzukommen während der Iteration, einmal abgesehen, funktioniert Dein Ansatz nur, wenn die Dateiliste die FindFirstFile erstellt bei jedem Aufruf exakt gleich ist - sowohl vom Inhalt her als auch von der Position jedes einzelnen Dateirecords. Das ist aber keineswegs garantiert. Um dies zu...
Forum: Win32/Win64 API (native code)
Delphi
by Fridolin Walther,
29. Nov 2009
Du bist Dir aber schon im Klaren, daß FindFile keine bestimmte Reihenfolge zurück gibt, oder?