이 (읽을 수없는 파일의 경우 해당 속성에 "거부"로 설정된 읽기 권한이 읽기 권한 또는 파일이없는 파일을 코드읽을 수없는 파일은
#include <iostream>
#include <windows.h>
int main()
{
WIN32_FILE_ATTRIBUTE_DATA wfad;
GetFileAttributesEx(("C:\\TEMP\\noreadfile"), GetFileExInfoStandard, &wfad); //"noreadfile" is unreadable file
std::cout << wfad.dwFileAttributes; // 128
return 0;
}
의 다음 코드를 고려 창에 속성 -> 보안 탭)에서 GetFileAttributesEx
은 FILE_ATTRIBUTE_NORMAL
을 반환합니다. 이는 해당 파일에 대해 no other attribute is set을 의미합니다.
이 특성은 쓰기 가능 파일과 읽기 전용이 아닌 파일에 대해서도 반환됩니다.
이 정보를 사용하여 제품 코드의 파일에 대한 사용 권한을 설정합니다.
읽을 수없는 파일의 경우 GetFileAttributesEx
이 잘못된 특성을 반환 할 수 있다고 결론을 냈습니다. 우리의 결론이 옳은지 아닌지 궁금합니다.
그렇다면 GetFileAttributesEx
의 알려진 문제입니까?
그렇지 않으면 다음 Windows API 또는 가능하면 ++ 파일 시스템 라이브러리를 부스트 또는 표준 C를 사용하여 사용하여 읽을 수없는 파일에 대한
파일 특성을 얻을 수있는 올바른 방법은 무엇입니까 (아마 파일 권한은?)?
파일 속성 (예 : 읽기 전용, 시스템, 숨김 등)은 파일 보안과 관련이 없습니다. 파일의 임의 액세스 제어 목록 (DACL)을 가져 오려면 ['GetNamedSecurityInfo'] (https://msdn.microsoft.com/en-us/library/aa446645)를 호출하십시오. – eryksun