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

¿Fue útil?

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
scroll top