Windows FindFirstFile access denied

Fórumok

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?

:)