본문 바로가기

API / MFC/Function Information

[wince] WIN32_FIND_DATA Structure

이 구조체는 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