CFileFind erkennen ob "Zugriff verweigert" bzw. sonstiger Fehler oder Leer.
-
Hallo,
ich verwende eine rekursive Funktion die CFindFile zum durchforsten eines Verzeichnissbaumes verwendet.Wie unterscheide ich am schlauesten zwischen einem Verzeichniss das einfach leer ist (bzw. zum Suchstring nichts findet) und einem Fehler wie "Zugriff verweigert" oder einem Datenträgerfehler.
BOOL finderFound; CFileFind finder; CString searchString = _Directory + _FilterString; finderFound = finder.FindFile(searchString); while (finderFound) { finderFound = finder.FindNextFile(); }
So ist ja die Vorgabe von MS.
Wenn ich GetLastError aufrufe wenn (finderFound == False) ist, bekomme ich z.B. die Fehler 5 Zugriff verweigert, 2 Das System kann die angegene Datei nicht finden.Ich möchte nun ungern sagen
2 = leer
rest = fehlerVieleicht kommt unter anderen Umständen Fehler ?7? wenn leer bei FAT32 oder was weiß ich.
Wie kann ich sicher zwischen leer und Fehler unterscheiden?
Danke
Stefan