CreateDirectoryW 함수(fileapi.h)
새 디렉터리를 만듭니다. 기본 파일 시스템에서 파일 및 디렉터리에 대한 보안을 지원하는 경우 함수는 지정된 보안 설명자를 새 디렉터리에 적용합니다.
템플릿 디렉터리를 지정하려면 CreateDirectoryEx 함수를 사용합니다.
이 작업을 트랜잭션 작업으로 수행하려면 CreateDirectoryTransacted 함수를 사용합니다.
구문
BOOL CreateDirectoryW(
[in] LPCWSTR lpPathName,
[in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
매개 변수
[in] lpPathName
만들 디렉터리의 경로입니다.
기본적으로 이름은 MAX_PATH 문자로 제한됩니다. 이 제한을 32,767자로 확장하려면 경로에 "\\?\"를 앞에 추가합니다. 자세한 내용은 파일 이름 지정, 경로 및 네임스페이스를 참조하세요.
팁
Windows 10 버전 1607부터 "\\?\"를 앞에 추가하지 않고 MAX_PATH 제한을 제거하도록 옵트인할 수 있습니다. 자세한 내용은 파일, 경로 및 네임스페이스의 "최대 경로 길이 제한" 섹션을 참조하세요.
[in, optional] lpSecurityAttributes
SECURITY_ATTRIBUTES 구조체에 대한 포인터입니다. 구조체의 lpSecurityDescriptor 멤버는 새 디렉터리에 대한 보안 설명자를 지정합니다. lpSecurityAttributes가 NULL이면 디렉터리가 기본 보안 설명자를 가져옵니다. 디렉터리에 대한 기본 보안 설명자의 ACL은 부모 디렉터리에서 상속됩니다.
대상 파일 시스템은 이 매개 변수가 영향을 미치려면 파일 및 디렉터리에 대한 보안을 지원해야 합니다. GetVolumeInformation이 FS_PERSISTENT_ACLS 반환할 때 표시됩니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다. 가능한 오류에는 다음이 포함됩니다.
반환 코드 | 설명 |
---|---|
|
지정된 디렉터리가 이미 있습니다. |
|
하나 이상의 중간 디렉터리 존재하지 않습니다. 이 함수는 경로에 최종 디렉터리만 만듭니다. |
설명
NTFS 파일 시스템과 같은 일부 파일 시스템은 개별 파일 및 디렉터리에 대한 압축 또는 암호화를 지원합니다. 이러한 파일 시스템에 대한 형식이 지정된 볼륨에서 새 디렉터리가 부모 디렉터리의 압축 및 암호화 특성을 상속합니다.
애플리케이션은 FILE_FLAG_BACKUP_SEMANTICS 플래그가 설정된 CreateFile을 호출하여 디렉터리에 대한 핸들을 가져올 수 있습니다. 코드 예제는 CreateFile을 참조하세요.
이 개체의 보안 설명자를 쿼리하는 상속 함수를 지원하려면 추론적으로 상속이 적용되고 있음을 확인하고 보고할 수 있습니다. 자세한 내용은 상속 가능한 AES의 자동 전파 를 참조하세요.
Windows 8 및 Windows Server 2012에서 이 함수는 다음 기술을 통해 지원됩니다.
기술 | 지원됨 |
---|---|
SMB(서버 메시지 블록) 3.0 프로토콜 | Yes |
SMB 3.0 TFO(투명 장애 조치(failover)) | Yes |
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 | Yes |
CsvFS(클러스터 공유 볼륨 파일 시스템) | Yes |
ReFS(Resilient File System) | 예 |
예제
예제는 파일 특성 검색 및 변경을 참조하세요.
참고
fileapi.h 헤더는 CREATEDirectory를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | fileapi.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |