Windows에서 디스크 구조 결정
-
09-06-2019 - |
문제
Windows XP의 실제 디스크에 몇 개의 섹터, 헤드 및 실린더가 있는지 프로그래밍 방식으로 확인해야 합니다.이를 결정하는 API를 아는 사람이 있나요?Windows에서는 이 정보를 어디에 공개할 수 있나요?
해결책
사용 DeviceIoControl 제어 코드 포함 IOCTL_DISK_GET_DRIVE_GEOMETRY 또는 IOCTL_DISK_GET_DRIVE_GEOMETRY_EX.
이를 수행하기 위한 샘플 코드가 MSDN에 있습니다. 여기.
다른 팁
전달할 수 있는 제어 코드가 있습니다. DeviceIoControl 물리적 디스크 구조를 얻으려면.
WMI도 이 기능을 훌륭하게 사용하여 큰 성공을 거두었습니다.
using( ManagementClass driveClass = new ManagementClass( "Win32_DiskDrive" ) )
{
using( ManagementObjectCollection physicalDrives = driveClass.GetInstances( ) )
{
foreach( ManagementObject drive in physicalDrives )
{
string cylinders = ( string )drive["TotalCylinders"];
// ... etc ...
drive.Dispose( );
}
}
}
사용할 수 있는 추가 드라이브 속성 목록을 보려면 다음을 확인하세요. 이 페이지
제휴하지 않습니다 StackOverflow