Azzal kísérletezem, hogy a FindFirstFile API-val bejárjam az NTFS directory struktúrát. Vannak azonban olyan directoryk, amikben a FindFirstFile nem látja a fájlokat (GetLastError=5, access denied). Ugyanakor ilyen directorykban is tudok fájlt kreálni. Vagy át tudok nyúlni az olvashatatlan directory szintjén, és mélyebbre nyúlva a FindFirstFile működik az kérdéses directory subdirectoryjában.
Azt találtam a neten, hogy ez azért van így, hogy egyes alkalmazások, amik beégetett directorynevekkel dolgoznak, ilyen symlinkeken át továbbra is megtalálhassák a vackaikat, miközben a normál FindFirstFile API-val nyomuló programok számára körmentesnek (vagyis fának) látszik a struktúra.
Jó, ebben meg is állapodhatnék, de azt látom, hogy vannak olyan programok, amik mégis csak tudják listázni az ilyen directorykat is. Ott van pl mindjárt a dir parancs. Meg ott van a Far Manager. Ha véletlenül valaki tudja, hogy ezek hogy csinálják, ossza meg az infót.
Bocs a kezdő kérdésért, de az utolsó húsz évben csak 2-3 évente veszek a kezembe windowst, és teljesen új nekem ez a windowsos symlink téma.
Hozzászólások
Nem lehet, hogy a FindFirstFile hívása előtt meg kellene állapítani az adott útvonalon található elemről, hogy link-e? És ha link, akkor a megfelelő függvénnyel lekérni a célját, és azzal az útvonallal hívni a FindFirstFile-t?
:)
Igen, ez jó ötlet lehet. Ha sikerül megtalálni a link targetjét. Egyelőre nem tudom, ezt hogyan kell, majd keresgélek. Mindenesetre köszönöm.
--
ulysses.co.hu
Talán ezek segítenek:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365682%28v=v…
https://blogs.msdn.microsoft.com/oldnewthing/20100212-00/?p=14963/
http://stackoverflow.com/questions/6797295/findfirstfile-and-junctions
Üdv,
Marci