Folder::CreateLink
폴더에 새로운 링크를 생성합니다.
virtual GSErrCode CreateLink ( const Name& linkName, const Location& target );
파라미터
- linkName
- 새로운 링크의 이름입니다.
- target
- 새로운 링크의 대상 위치입니다.
리턴 값
값 | 의미 |
---|---|
NoError* | OK |
TargetExists* | 같은 이름을 가진 엔트리가 이미 존재합니다. |
DeviceIsFull* | 디바이스가 가득 찼습니다. |
AccessDenied* | 동작을 이 폴더에서 허용하지 않습니다. |
Error* | 불특정 오류입니다. |
* Folder class 범위에서 선언함
* GS 네임스페이스에서 선언했지만, 글로벌 범위에서 접근 가능함
설명
이 메소드는 폴더에 이름 linkName을 가진 새로운 링크를 생성합니다. 이 링크는 target으로 지정한 위치를 참조할 것입니다.
링크는 네이티브 파일 시스템 엔트리처럼 보입니다. 왜냐하면 링크들은 필요할 때 InputOutput 모듈에 의해 자동으로 해결(resolved)되기 때문입니다. 예를 들어, 만약 하나의 링크가 하나의 파일을 참조할 경우, 사용자는 링크의 "내용"을 읽을 수 없습니다. 대신 링크가 참조하는 파일의 내용을 읽게 됩니다. 링크는 임의 타입(파일, 폴더, 또는 링크)의 파일 시스템 엔트리를 참조할 수 있습니다.
CreateLink는 폴더가 이름 linkName을 가진 엔트리(파일, 폴더, 링크)를 이미 포함하고 있으며, 기록할 수 없는 폴더 상이면 실패합니다.

- 만약 링크 확장자가 제한되어 있으면 (RestrictLinkExtensions 함수를 보십시오) 이 메소드는 ".lnk"가 아닌 다른 확장자로 링크를 생성하는 데 실패할 것입니다.
- 이 메소드는 루트 폴더에서 실패합니다. (왜냐하면 가상이며 기록할 수 없기 때문입니다)
- 다른 링크를 참조하는 링크는 생성할 수 없습니다. (왜냐하면 새로운 링크는 자동으로 최종 대상을 참조할 것이기 때문입니다)
- 루트 폴더를 참조하는 링크를 생성할 수 없습니다.

- 이 메소드는 루트 폴더에서 실패합니다. (왜냐하면 가상이며 기록할 수 없기 때문입니다)
- 루트 폴더를 참조하는 링크를 생성할 수 없습니다.
- 새로운 링크의 Script 시스템 코드는 smSystemScript로 세트됩니다.