CREATE_BIND_LINK_FLAGS 열거형(bindlink.h)
이러한 플래그를 CreateBindLink 에 전달하여 사용자의 요구에 맞게 기본 바인딩 링크 동작을 변경할 수 있습니다.
Syntax
typedef enum CREATE_BIND_LINK_FLAGS {
CREATE_BIND_LINK_FLAG_NONE,
CREATE_BIND_LINK_FLAG_READ_ONLY,
CREATE_BIND_LINK_FLAG_MERGED
} ;
상수
CREATE_BIND_LINK_FLAG_NONE 0x00000000 바인딩 링크 플래그가 지정되지 않았습니다. |
CREATE_BIND_LINK_FLAG_READ_ONLY 0x00000001 읽기 전용 링크는 시스템의 사용자가 가상 경로를 통해 액세스하는 경우 지원 경로에 있는 파일을 변경할 수 없는 바인딩 링크입니다. 즉, 지원 경로에서 파일을 수정할 수 있는 권한이 있는 사용자는 지원 경로를 통해 액세스하는 경우에도 해당 파일을 수정할 수 있지만 가상 경로를 통해 액세스할 경우 수정할 수는 없습니다. 일반적으로 지원 경로의 사용 권한은 해당 가상 경로에 액세스할 때와 같이 적용되지만 READ_ONLY 플래그를 사용하는 경우 "쓰기" 권한이 마스킹됩니다. 이렇게 하면 애플리케이션에서 파일이 READ_ONLY. 읽기 전용 제한은 디스크의 지원 경로에 있는 파일에만 적용됩니다. 링크가 병합되고 원래 가상 디렉터리 경로의 파일이 표시되는 경우 수정 가능한 상태로 유지됩니다. 예를 들면 다음과 같습니다. C:\Foo가 파일 Cat.txt 있는 디스크에 있음 C:\Bar가 파일 Cow.txt 있는 디스크에 있음 C:\Foo를 가상 경로로 만들고 C:\Bar를 지원 경로로 만들고 링크가 읽기 전용으로 표시되고 병합된 경우 Cat.txt 및 Cow.txt 모두 C:\Foo에 표시되지만 Cow.txt 수정할 수 없지만 Cat.txt 수정할 수 있습니다. |
CREATE_BIND_LINK_FLAG_MERGED 0x00000002 병합된 링크는 가상 경로의 기존 콘텐츠가 지원 경로와 병합되는 것을 제외하고는 섀도 링크와 같습니다. 이 플래그를 추가하여 섀도 링크에 대한 이전 예제를 다시 살펴보겠습니다. 예를 들면 다음과 같습니다. - C:\Foo는 Cat.txt 및 Dog.txt 두 개의 파일이 있는 디스크에 존재합니다. - C:\Bar는 Cow.txt 및 Mouse.txt 두 개의 파일이 있는 디스크에 있습니다. C:\Foo를 가상 경로로, C:\Bar 를 플래그 CREATE_BIND_LINK_FLAG_MERGED 지원 경로로 사용하여 링크를 만들면 C:\Foo 경로에 Cat.txt, Dog.txt, Cow.txt 및 Mouse.txt 표시됩니다. 병합된 링크는 가상 경로가 디렉터리인 경우에만 적용됩니다. 백업 경로와 가상 경로 모두에 파일이 표시되는 경우 지원 경로의 파일이 우선합니다(즉, 가상 경로의 파일이 마스킹됨). 이는 가상 경로 내의 모든 디렉터리에 대해 재귀적으로 적용됩니다. 병합은 디렉터리에 적용되므로 virtualPath 와 backupPath 모두 동일한 수준의 동일한 이름의 디렉터리가 있는 경우 디렉터리가 링크의 결과로 병합됩니다. 링크가 병합된 링크가 아닌 경우 지원 경로의 디렉터리가 우선적으로 적용되고 virtualPath의 디렉터리를 재정의합니다. 병합된 링크가 있을 때 병합된 경로에서 파일을 만든 경우 파일은 실제로 지원 경로(바인딩 링크의 경우와 같이)에서 만들어지고 virtualPath에서 동일한 이름의 파일을 재정의합니다. 다음 디렉터리 구조를 살펴보겠습니다. - c:\Foo\Sub\Foo_sub.txt - c:\Bar\Sub\Bar_sub.txt 그리고 두 개의 서로 다른 링크 : - {c:\Foo가 c:\Bar WITHOUT merge}에 연결됩니다. 이 경우 c:\Foo\Sub는 Bar_sub.txt만 표시합니다. - {c:\Foo는 c:\Bar WITH merge}에 연결됩니다. 이 경우 c:\Foo\Sub는 Foo_sub.txt 및 Bar_sub.txt 모두 표시합니다. 바인딩 링크는 경로 기반 링크이므로 링크가 만들어진 후 백업 경로에서 파일을 대체, 수정 또는 삭제/다시 만드는 경우 가상 경로는 링크를 따를 때 존재하는 파일을 가리킵니다. 파일이 열릴 때 링크가 확인되기 때문에 발생합니다. 따라서 백업 경로의 파일이 링크로 인해 가상 경로의 파일을 마스킹하고 백업 경로의 파일이 삭제된 경우 후속 열기로 인해 가상 경로에서 파일이 열립니다. |
요구 사항
요구 사항 | 값 |
---|---|
헤더 | bindlink.h |