Como llegar La información del directorio a través de la API nativa de Windows?
Pregunta
Me puede conseguir la fecha de creación, tamaño del archivo, etc para un archivo usando el siguiente código:
// 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));
Sin embargo, cuando se le llama en contra de un directorio, todos los valores se establecen en cero - ¿cómo puedo obtener información de directorio?
Gracias
Solución
me encontré con algo como esto una vez que tenga que pasar esta bandera para obtener un identificador válido para un directorio. A partir de la documentación de la MSDN .
Probar
HANDLE hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_BACKUP_SEMANTICS, NULL);
FILE_FLAG_BACKUP_SEMANTICS
| Debe establecer esta bandera para obtener un identificador a un directorio. Un gestor de directorio se puede pasar a algunas funciones en lugar de un identificador de archivo. Para obtener más información, vea la sección Notas.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow