FileSystem::EnumerateMountPoints
파일 시스템의 마운트 포인트들을 열거합니다.
GSErrCode EnumerateMountPoints ( EnumMPCallback ec, void* userData = NULL ) const;
파라미터
- ec
-
파일 시스템에서 각 마운트 지점에 대하녀 호출될 Enumerator 콜백 함수입니다. 선언은 다음과 같습니다:
typedef bool (CCALL *EnumMPCallback) (const Location& mountPoint, void* userData);
mountPoint는 특정 마운트 지점의 위치입니다. userData는 사용자가 이 (EnumerateMountPoints) 메소드를 통해 전달하는 임의의 값입니다. 만약 콜백 함수로부터의 리턴 값이 true이면, 열거가 계속될 것입니다. 그 외에는 중지될 것입니다. (이 경우 이 메소드로부터의 리턴 값은 NoError입니다) - userData
- 사용자를 위한 임의의 값이 콜백 함수에게 전달될 것입니다.
리턴 값
값 | 의미 |
---|---|
NoError* | OK |
Error* | 불특정 오류입니다. |
* GS 네임스페이스에서 선언했지만, 글로벌 범위에서 접근 가능함
설명
파일 시스템 트리는 논리적 구조입니다. 파일 시스템 엔트리들은 볼륨(volume)이라는 여러 개의 물리적 (또는 가상) 저장소에 저장됩니다. 볼륨은 여러 개의 엔트리들을 포함할 수 있습니다. 그리고 하나의 엔트리는 여러 개의 볼륨들에 걸쳐 분배될 수 있습니다. 실제로는 폴더들의 내용만 분배됩니다. 모든 폴더는 유일하게 단일 볼륨에 맵핑됩니다. 이것의 자손 파일들과 자손 링크들은 이 볼륨 안에 존재합니다. 이것의 자손 폴더들은 동일하거나 서로 다른 볼륨에 맵핑될 수 있습니다. 용어 마운트 지점은 폴더들과 관련되어 있고 다음과 같이 정의되어 있습니다. (폴더로서의) 로컬 루트는 마운트 포인트이며 이것은 일부 (아마 가상) 볼륨에 맵핑되어 있습니다. 부모 폴더의 볼륨과 다른 볼륨에 맵핑된 모든 (서브)폴더 역시 마운트 지점입니다. 즉, 마운트 지점은 기본 볼륨이 변경되는 폴더 (또는 더 정확히는 위치)입니다.
이 메소드는 파일 시스템의 각 마운트 지점에 대하여 호출되는 쿨백 함수 ec를 통해 마운트 지점들을 열거합니다.
임의의 값을 userData 안에 넣어서 콜백 함수에게 전달할 수 있습니다.
각 콜백 함수의 호출은 열거가 끝날 때까지, 또는 사용자가 중단할 때까지 마운트 지점의 위치를 제공합니다.
(로컬) 루트 역시 마운트 지점이므로 열거하는 중에 나타날 수도 있다는 것을 참고하십시오.