다음을 통해 공유


SHCreateDirectoryExA 함수(shlobj_core.h)

[이 함수는 Windows XP SP2(서비스 팩 2) 및 Windows Server 2003을 통해 사용할 수 있습니다. 이후 버전의 Windows에서는 변경되거나 사용하지 못할 수 있습니다.]

선택적 보안 특성을 사용하여 새 파일 시스템 폴더를 만듭니다.

구문

int SHCreateDirectoryExA(
  [in, optional] HWND                      hwnd,
  [in]           LPCSTR                    pszPath,
  [in, optional] const SECURITY_ATTRIBUTES *psa
);

매개 변수

[in, optional] hwnd

형식: HWND

부모 창에 대한 핸들입니다. 사용자 인터페이스가 표시되지 않으면 이 매개 변수를 NULL 로 설정할 수 있습니다.

[in] pszPath

형식: LPCTSTR

디렉터리의 정규화된 경로를 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열의 최대 길이는 종료 null 문자를 포함하여 248자입니다.

[in, optional] psa

형식: const SECURITY_ATTRIBUTES*

디렉터리의 보안 특성이 있는 SECURITY_ATTRIBUTES 구조체에 대한 포인터입니다. 보안 특성을 설정할 필요가 없는 경우 이 매개 변수를 NULL 로 설정합니다.

반환 값

형식: int

성공하면 ERROR_SUCCESS 반환합니다. 작업이 실패하면 여기에 나열된 오류 코드를 포함하여 다른 오류 코드를 반환할 수 있습니다. 구체적으로 나열되지 않은 값은 시스템 오류 코드를 참조하세요.

반환 코드 설명
ERROR_BAD_PATHNAME
pszPath 매개 변수가 상대 경로로 설정되었습니다.
ERROR_FILENAME_EXCED_RANGE
pszPath가 가리키는 경로가 너무 깁니다.
ERROR_PATH_NOT_FOUND
시스템에서 pszPath가 가리키는 경로를 찾을 수 없습니다. 경로에 잘못된 항목이 포함될 수 있습니다.
ERROR_FILE_EXISTS
디렉터리가 있습니다.
ERROR_ALREADY_EXISTS
디렉터리가 있습니다.
ERROR_CANCELLED
사용자가 작업을 취소했습니다.

설명

이 함수는 pszPath에서 정규화된 경로를 제공하는 파일 시스템 폴더를 만듭니다. 하나 이상의 중간 폴더가 없으면 해당 폴더도 만들어집니다. SHCreateDirectoryEx 는 파일이 표시되는지도 확인합니다. 표시되지 않는 경우 다음 중 하나를 예상합니다.

  • hwnd가 유효한 창 핸들로 설정된 경우 사용자에게 파일에 액세스하지 못할 수 있음을 경고하는 메시지 상자가 표시됩니다. 사용자가 진행하지 않기로 선택하면 함수는 ERROR_CANCELLED 반환합니다.
  • hwndNULL로 설정된 경우 사용자 인터페이스가 표시되지 않고 함수가 ERROR_CANCELLED 반환합니다.

참고

shlobj_core.h 헤더는 SHCreateDirectoryEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional, Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shlobj_core.h(Shlobj.h, Shlobj_core.h 포함)
라이브러리 Shell32.lib
DLL Shell32.dll(버전 5.0 이상)

추가 정보

SHCreateDirectory