이 구조체는 FindFirstFile 나 FindNextFile 함수로 찾은 파일 정보가 들어 있음typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwOID;
TCHAR cFileName[MAX_PATH];
} WIN32_FIND_DATA;
dwFileAttributes
찾은 파일의 파일 속성 저장
다음 값을 하나 이상 가능
┃
┣> FILE_ATTRIBUTE_ARCHIVE
┃ ┣ 파일 또는 폴더가 아카티브(기록보관) 파일 또는 폴더 임
┃ ┗ 응용프로그램에서 백업이나 제거 마크파일에서 이 속성을 사용
┃
┣> FILE_ATTRIBUTE_COMPRESSED
┃ ┣ 파일이나 폴더가 압축 속성을 가짐
┃ ┣ 파일은 파일이 압축된 모든 데이터 의미
┃ ┗ 폴더는 폴더안에 새롭게 생성된 파일이나 서브 폴더가 디폴트로 압축 속성을 가지는 것을 의미
┃
┣> FILE_ATTRIBUTE_DIRECTORY
┃ ┗ 폴더 임을 나타냄
┃
┣> FILE_ATTRIBUTE_ENCRYPTED
┃ ┣ 파일 또는 폴더가 암호화 속성을 가짐
┃ ┣ 파일은 암호화된 모든 데이터 스트림을 의미
┃ ┗ 폴더는 폴더안에 새롭게 생성된 파일이나 서브 폴더가 디폴트로 암호화 속성을 가지는 것을 의미
┃
┣> FILE_ATTRIBUTE_HIDDEN
┃ ┣ 파일 또는 폴더가 숨겨짐 속성을 가짐
┃ ┗ 이것은 일반 폴더 목록에 포함되지 않음
┃
┣> FILE_ATTRIBUTE_INROM
┃ ┣ 이 파일은 ROM에 저장된 운영 체제 파일임
┃ ┗ 이런 파일은 읽기 전용 파일임; 수정할 수 없음
┃
┣> FILE_ATTRIBUTE_NORMAL
┃ ┣ 파일 또는 폴더가 다른 속성을 가지지 않음
┃ ┗ 이 속성은 오직 혼자 사용할 경우 유효함
┃
┣> FILE_ATTRIBUTE_READONLY
┃ ┣ 파일 또는 폴더는 읽기 전용임
┃ ┣ 응용프로그램에서 읽기 가능함 하지만 쓰기와 삭제는 할수 없음
┃ ┗ 폴더에 관하여 말하면, 응용프로그램에서 삭제를 할 수 없음
┃
┣> FILE_ATTRIBUTE_REPARSE_POINT
┃ ┗ 파일은 연관되어 있던 reparse 포인터를 가짐
┃
┣> FILE_ATTRIBUTE_ROMMODULE
┃ ┣
┃ ┣ 이 파일은 ROM에 저장된 운영 체제 파일이고 RAM에 첫번째로 복사되는 대신에
┃ ┣ ROM부터 직접 실행할 수 있음
┃ ┗ CreateFile 함수는 LoadLibrary과 CreateProcess 함수 대신에 이 파일을 액세스 하여 사용할 수 없음
┃
┣> FILE_ATTRIBUTE_ROMSTATICREF
┃ ┣ 최소한 하나의 이미지의 모듈 섹션 속에 있는 다른 파일로 부터 정적 참조를 가지는 DLL 모듈 파일
┃ ┣ 이 속성은 동일한 DLL의 RAM 복사본을 DLL의 기능으로 대체 할 수 없음
┃ ┗ 이 파일은 FILE_ATTRIBUTE_INROM와 FILE_ATTRIBUTE_ROMMODULE 속성을 가져야함 함
┃
┣> FILE_ATTRIBUTE_SPARSE_FILE
┃ ┗ 이 파일은 스파스 파일임
┃
┣> FILE_ATTRIBUTE_SYSTEM
┃ ┗ 운영체제의 일부 또는 운영체제 단독으로 사용하는 파일 또는 폴더
┃
┗> FILE_ATTRIBUTE_TEMPORARY
┣ 임시 저장 파일
┣ 파일 시스템이 메모리에 있는 모든 데이터를 원래 대용량 저장소에 플러시 하는 것 보다도
┣ 빠른 액세스를 하기 위해 시도
┗ 임시파일은 응용프로그램에서 더 이상 필요하지 않으면 삭제를 해야함
ftCreationTime
파일이 생성된 시간을 포함하고 있는 FILETIME 구조체
FindFirstFile와 FindNextFile는 UTC(협정 세계시간) 형식의 파일 시간으로 저장됨
이 함수에서 만약 파일 시스템 들어 있는 파일이 이 시간 멤버를 지원하지 않는다면, FILETIME 멤버는 O로 설정됨
ftLastAccessTime
파일이 마지막으로 액세스 된 시간을 포함하고 있는 FILETIME 구조체
이 시간도 UTC 형식; 만약 파일 시스템 들어 있는 파일이 이 시간 멤버를 지원하지 않는다면, FILETIME 멤버는 O로 설정됨
ftLastWriteTime
파일이 마지막으로 쓴 시간을 포함하고 있는 FILETIME 구조체
이 시간도 UTC 형식; 만약 파일 시스템 들어 있는 파일이 이 시간 멤버를 지원하지 않는다면, FILETIME 멤버는 O로 설정됨
nFileSizeHigh
BYTE단위의 파일크기를 상위 DWORD 값 저장
파일 크기가 MAXDWORD보다 크기 않는 이상 이 값은 0임
파일크기는 (nFileSizeHigh * (MAXDWORD+1)) + nFileSizeLow 임
nFileSizeLow
BYTE단위의 파일크기를 하위 DWORD 값 저장
dwOID
파일의 객체 식별자를 지정
cFileName
파일이 이름이 Null로 끝나는 문자열
참고 : http://msdn.microsoft.com/en-us/library/ms915521.aspx
'API / MFC > Function Information' 카테고리의 다른 글
[wince] FindNextFile Function (0) | 2010.04.14 |
---|---|
[windows] FindNextFile Function (0) | 2010.04.14 |
[windows] WIN32_FIND_DATA Structure (0) | 2010.04.13 |
[wince] FindFirstFile Function (0) | 2010.04.12 |
[windows] FindFirstFile Function (0) | 2010.04.12 |