Wie Directory-Informationen über Windows-native API zu bekommen?
Frage
Ich kann das Erstellungsdatum bekommen, Dateigröße usw. für eine Datei mit dem folgenden Code:
// Error handling removed for brevity
HANDLE hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
LARGE_INTEGER fileSize;
GetFileSizeEx(hFile, &fileSize);
FILE_BASIC_INFO fileInfo);
GetFileInformationByHandle(hFile, FileBasicInfo, fileInfo, sizeof(fileInfo));
Aber wenn gegen ein Verzeichnis mit dem Namen, werden alle Werte auf Null gesetzt - wie bekomme ich Verzeichnis Informationen?
Danke
Lösung
Ich lief in etwa so aus, sobald Sie diese Flagge passieren müssen ein gültiges Handle für ein Verzeichnis zu erhalten. Aus MSDN Dokumentation.
Versuchen Sie, diese
HANDLE hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_BACKUP_SEMANTICS, NULL);
FILE_FLAG_BACKUP_SEMANTICS
| Sie müssen diesen Flag gesetzt mit einem Griff in ein Verzeichnis zu erhalten. Ein Verzeichnis-Handle kann auf einige Funktionen übergeben werden, statt einer Datei-Handle. Weitere Informationen finden Sie im Abschnitt Bemerkungen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow