CreateSymbolicLinkW 함수(winbase.h)
기호화 된 링크를 만듭니다.
이 작업을 트랜잭션된 작업으로 수행하려면 CreateSymbolicLinkTransacted 함수를 사용합니다.
구문
BOOLEAN CreateSymbolicLinkW(
[in] LPCWSTR lpSymlinkFileName,
[in] LPCWSTR lpTargetFileName,
[in] DWORD dwFlags
);
매개 변수
[in] lpSymlinkFileName
만들 기호 링크입니다.
이 매개 변수에는 경로가 포함될 수 있습니다.
기본적으로 이름은 MAX_PATH 문자로 제한됩니다. 이 제한을 와이드 문자 32,767자로 확장하려면 경로 앞에 "\\?\"를 추가합니다. 자세한 내용은 파일 이름 지정, 경로 및 네임스페이스를 참조하세요.
팁
Windows 10 버전 1607부터 "\\?\" 앞에 추가하지 않고 MAX_PATH 제한을 제거하도록 옵트인할 수 있습니다. 자세한 내용은 파일, 경로 및 네임스페이스의 "최대 경로 길이 제한" 섹션을 참조하세요.
[in] lpTargetFileName
만들 심볼 링크의 대상 이름입니다.
lpTargetFileName에 연결된 디바이스 이름이 있는 경우 링크는 절대 링크로 처리됩니다. 그렇지 않으면 링크가 상대 링크로 처리됩니다.
이 매개 변수에는 경로가 포함될 수 있습니다.
기본적으로 이름은 MAX_PATH 문자로 제한됩니다. 이 제한을 와이드 문자 32,767자로 확장하려면 경로 앞에 "\\?\"를 추가합니다. 자세한 내용은 파일 이름 지정, 경로 및 네임스페이스를 참조하세요.
팁
Windows 10 버전 1607부터 "\\?\" 앞에 추가하지 않고 MAX_PATH 제한을 제거하도록 옵트인할 수 있습니다. 자세한 내용은 파일, 경로 및 네임스페이스의 "최대 경로 길이 제한" 섹션을 참조하세요.
[in] dwFlags
링크 대상 lpTargetFileName이 디렉터리인지 여부를 나타냅니다.
값 | 의미 |
---|---|
|
링크 대상은 파일입니다. |
|
링크 대상은 디렉터리입니다. |
|
프로세스가 상승되지 않은 경우 기호 링크를 만들 수 있도록 이 플래그를 지정합니다. 이 옵션이 작동하려면 먼저 머신에서 개발자 모드를 사용하도록 설정해야 합니다. |
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
바로 가가 링크는 절대 링크이거나 상대 링크일 수 있습니다. 절대 링크는 경로 이름의 각 부분을 지정하는 링크이고, 상대 링크는 지정된 경로에서 상대 링크 지정자가 있는 위치를 기준으로 결정됩니다. 상대 링크는 다음 규칙을 사용하여 지정됩니다.
- 점(. 및 ..) 규칙 - 예를 들어 “..\”는 부모 디렉터리를 기준으로 경로를 확인합니다.
- 슬래시가 없는 이름(\\)(예: "tmp")은 현재 디렉터리를 기준으로 경로를 확인합니다.
- 루트 상대(예: "\Windows\System32")는 "현재 드라이브:\Windows\System32"로 확인됩니다.
- 현재 작업 디렉터리-상대-예를 들어 현재 작업 디렉터리가 C:\Windows\System32인 경우 "C:File.txt"은 "C:\Windows\System32\File.txt"로 확인됩니다.
참고 현재 작업 디렉터리 상대 링크를 지정하면 사용자 및 스레드에 따라 현재 작업 디렉터리가 처리되는 방식으로 인해 절대 링크로 만들어집니다.
Windows 8 및 Windows Server 2012에서 이 함수는 다음 기술을 통해 지원됩니다.
기술 | 지원됨 |
---|---|
SMB(서버 메시지 블록) 3.0 프로토콜 | Yes |
SMB 3.0 TFO(투명 장애 조치(failover)) | Yes |
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 | No |
CsvFS(클러스터 공유 볼륨 파일 시스템) | No |
ReFS(Resilient File System) | Yes |
CsvFs는 소프트 링크 또는 기타 재분석 지점을 지원하지 않습니다.
참고
winbase.h 헤더는 CREATESymbolicLink를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |