중복 볼륨 이름을 사용하여 볼륨 열거형 이해
볼륨을 열거할 때 중복된 볼륨 이름이 결과 볼륨 정보 목록에 나타날 수 있습니다.
이러한 상황이 발생하는 이유를 이해하려면 볼륨 열거 루틴 FltEnumerateVolumeInformation 을 사용하여 모든 시스템 볼륨을 열거하는 시나리오를 고려하세요. 이로 인해 볼륨 정보 구조로 채워진 버퍼가 생성됩니다. 하나는 관리자를 필터링하는 것으로 알려진 각 볼륨에 대해 하나씩입니다. 이 버퍼에서 각 볼륨 정보 구조는 FILTER_VOLUME_BASIC_INFORMATION 또는 FILTER_VOLUME_STANDARD_INFORMATION 형식일 수 있지만 둘 다 형식일 수는 없습니다.
이 볼륨 정보 구조 목록을 고려할 때 여러 목록 요소에 동일한 볼륨 이름을 포함할 수 있습니다. 즉, 둘 이상의 목록 요소의 FilterVolumeName 멤버가 동일할 수 있습니다. FltEnumerateVolumes와 같은 모든 필터 관리자 열거 루틴은 분리되었지만 해제되지 않은 볼륨을 포함하여 볼륨을 열거하기 때문입니다(열려 있는 파일이 볼륨에 여전히 존재하기 때문). 따라서 볼륨이 분리되면 볼륨 정보 목록에 해당 이름이 두 번 이상 표시될 수 있습니다. 현재 탑재된 상태에 대해 한 번, 이전에 분리되었지만 철거되지 않은 상태에 대해 한 번, 가장 간단한 경우입니다.
볼륨 정보 목록에 중복 볼륨 이름이 표시되면 위의 설명에서 동일한 이름의 각 그룹을 설명합니다. 그러나 다음 절차를 사용하여 위의 시나리오를 확인할 수 있습니다.
목록이 FILTER_VOLUME_STANDARD_INFORMATION 형식의 구조체로 채워진 경우 FilterVolumeName 멤버가 같은 구조체 그룹을 식별합니다. 이 그룹의 구조체 중 하나 이상이 Flags 멤버에 설정된 FLTFL_VSI_DETACHED_VOLUME 플래그가 있는 경우 그룹과 연결된 볼륨은 분리되었지만 제거되지 않은 상태입니다. 이렇게 하면 중복된 볼륨 이름이 존재하는 이유가 확인됩니다. 해당하는 경우 나머지 모든 그룹에 대해 이 절차를 반복합니다.
목록이 FILTER_VOLUME_BASIC_INFORMATION 형식의 구조체로 채워진 경우 이 목록을 해당 FILTER_VOLUME_STANDARD_INFORMATION 구조체 양식으로 변환하고 이전 글머리 기호 지점에서와 같이 진행합니다.
참고 FILTER_VOLUME_STANDARD_INFORMATION 구조는 Windows Vista부터만 사용할 수 있습니다.
이 항목의 영향을 받는 루틴 및 구조에는 다음이 포함됩니다.
FILTER_VOLUME_BASIC_INFORMATION