문제

시스템에서 액세스 가능한 파일이나 폴더에 대한 전체 경로가 있다고 가정합니다.파일(또는 폴더)이 실제로 상주하는 물리적 장치에 대한 일종의 고유 식별자를 어떻게 얻을 수 있습니까?

나의 첫 번째 시도는 System.IO.DriveInfo 드라이브 문자가 있는지에 따라 다릅니다.그러나 서버의 동일한 물리적 장치에 매핑된 UNC 경로와 여러 네트워크 드라이브로 인해 몇 가지 복잡성이 추가됩니다.예를 들어 이 3개 경로는 모두 동일한 장치의 동일한 폴더를 가리킵니다.

\\myserver\users\brian\public\music\
s:\users\brian\public\music\          (here s:\ is mapped to \\myserver\)
u:\public\users\music\                (here u:\ is mapped to \\myserver\users\brian\)

궁극적으로 내 목표는 이러한 여러 경로를 사용하여 각 장치에서 사용된 디스크 공간과 사용 가능한 디스크 공간의 양을 보고하는 것입니다.이 3개 경로를 3개의 별도 항목이 아닌 보고서의 단일 항목으로 결합하고 싶습니다.

임의의 전체 경로가 주어지면 이 정보를 찾는 데 도움이 되는 Windows API가 있습니까?

도움이 되었습니까?

해결책

이 승리 API 호출은 디스크 공간과 관련하여 필요한 정보를 제공합니다.

  GetDiskFreeSpaceEx

http://msdn.microsoft.com/en-us/library/aa364937(VS.85).aspx

또한 세 개의 매핑이 모두 동일한 물리적 디스크에서 나온 것인지 확인하려면 다음을 호출하세요.

GetVolumeInformation

반환된 볼륨 일련 번호를 비교합니다.

http://msdn.microsoft.com/en-us/library/aa364993(VS.85).aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top