다음을 통해 공유


CreateSymbolicLinkA 함수(winbase.h)

기호 링크를 만듭니다.

이 작업을 트랜잭션 작업으로 수행하려면 CreateSymbolicLinkTransacted 함수를 사용합니다.

통사론

BOOLEAN CreateSymbolicLinkA(
  [in] LPCSTR lpSymlinkFileName,
  [in] LPCSTR 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링크 대상이 디렉터리인지 여부를 나타냅니다.

의미
0x0
링크 대상은 파일입니다.
SYMBOLIC_LINK_FLAG_DIRECTORY
0x1
링크 대상은 디렉터리입니다.
SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE
0x2
프로세스가 상승되지 않을 때 기호 링크를 만들 수 있도록 하려면 이 플래그를 지정합니다. UWP에서 개발자 모드 먼저 컴퓨터에서 사용하도록 설정해야 이 옵션이 작동합니다. MSIX에서는 이 플래그에 대해 개발자 모드를 사용하도록 설정할 필요가 없습니다.

반환 값

함수가 성공하면 반환 값은 0이 아닌 값입니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.

발언

기호 링크는 절대 링크 또는 상대 링크일 수 있습니다. 절대 링크는 경로 이름의 각 부분을 지정하는 링크입니다. 상대 링크는 상대 연결 지정자가 지정된 경로에 있는 위치를 기준으로 결정됩니다. 상대 링크는 다음 규칙을 사용하여 지정됩니다.

  • 점(. 및 ..) 규칙(예: ".) \"는 부모 디렉터리를 기준으로 경로를 확인합니다.
  • 슬래시가 없는 이름(\\)(예: "tmp")은 현재 디렉터리를 기준으로 경로를 확인합니다.
  • 루트 상대(예: "\Windows\System32"는 "현재 드라이브:\Windows\System32"로 확인됩니다.
  • 현재 작업 디렉터리-상대-예를 들어 현재 작업 디렉터리가 C:\Windows\System32인 경우 "C:File.txt"는 "C:\Windows\System32\File.txt"로 확인됩니다.
    참고 현재 작업 디렉터리 상대 링크를 지정하면 사용자 및 스레드에 따라 현재 작업 디렉터리가 처리되는 방식 때문에 절대 링크로 만들어집니다.
     
기호 링크를 제거하려면 사용되는 기호 링크 유형에 따라 파일을 삭제하거나(DeleteFile 또는 유사한 API 사용) 디렉터리(RemoveDirectory 또는 유사한 API 사용)를 제거합니다.

Windows 8 및 Windows Server 2012에서 이 함수는 다음 기술에서 지원됩니다.

기술 지원
SMB(서버 메시지 블록) 3.0 프로토콜
SMB 3.0 TFO(투명한 장애 조치(failover)
SO(스케일 아웃 파일 공유)가 있는 SMB 3.0 아니요
CsvFS(클러스터 공유 볼륨 파일 시스템) 아니요
ReFS(복원 파일 시스템)
 

CsvFs는 소프트 링크 또는 기타 재구매 지점을 지원하지 않습니다.

메모

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

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

CreateSymbolicLinkTransacted

파일 관리 함수

기호 링크