HANDLE WINAPI CreateFile(
__in LPCTSTR lpFileName,
__in DWORD dwDesiredAccess,
__in DWORD dwShareMode,
__in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes,
__in DWORD dwCreationDisposition,
__in DWORD dwFlagsAndAttributes,
__in_opt HANDLE hTemplateFile
);
파일 열때 사용하는 함수
lpFileName : 개방(Open)할 파일 이름을 지정한다.
dwDesiredAccess : 읽기/쓰기 모드를 지정한다. or(|)연산으로 결합가능
GENERIC_READ 읽기 모드 지정
GENERIC_WRITE 쓰기 모드 지정
dwShareMode : 파일 공유방식을 지정한다.
0 다른 프로세스에 절대 공유 불가! 이미 개방된 파일은 중복 개방 불가
FILE_SHARE_READ 다른 프로세스에서 이 파일에 동시 읽기 접근 가능
FILE_SHARE_WRITE 다른 프로세스에서 이 파일에 동시 쓰기 접근 가능.
lpSecurityAttributes : 보안 속성을 지정. 핸들을 자식 프로세스에게 상속할 것인지 말 것인지를 결정
디폴트 보안 속성을 지정하고자 하는 경우 NULL
dwCreationDisposition : 파일이 생성되는 방법을 지정한다.
CREATE_ALWAYS 항상 새 파일을 생성한다
CREATE_NEW 새 파일 생성, 같은 이름의 파일이 존재하면 생성 실패
OPEN_ALWAYS 기존 파일 개방, 없으면 새로 생성
OPEN_EXISTING 기존 파일 개방, 존재하지 않으면 함수 호출 실패
TRUNCATE_EXISTING 기존 파일의 내용 지우고 개방, 파일이 존재하지 않으면 호출 실패
dwFlagsAndAttributes : 파일의 특성 정보를 설정한다. 둘 이상의 특정 정보가 OR연산자 통해 지정 가능
기본적으로 FILE_ATTRIBUTE_NORMAL이라는 값을 사용
hTemplateFile : 기존에 존재하는 파일과 동일한 특성을 가지는 새 파일을 만들 때 사용되는 전달 인자이다.
일반적으로 NULL
성공하면 파일의 핸들이 반환!
실패 시 INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1)
'My Study > Function' 카테고리의 다른 글
WriteFile (0) | 2010.02.24 |
---|---|
ReadFile (0) | 2010.02.24 |
CreateProcess (0) | 2010.02.24 |
fopen의 정체 (0) | 2010.02.24 |
WaitForSingleObject 함수 (2) | 2009.12.09 |