내가 C/C와 윈도우에서 개발하고 있어요 ++ 내가 알고 싶은 \\.\PhysicalDrive
하여 apropriate \\.\SCSI
장치 이름을 얻을 수 있습니다 ..이름 매핑 -. \ PhysicalDrive가이 \합니다 SCSI
예를 들어, 그걸 얻는 방법을 알면 멋집니다. \\.\PhysicalDrive0
은 \\.\SCSI0
과 같습니다.
내가 C/C와 윈도우에서 개발하고 있어요 ++ 내가 알고 싶은 \\.\PhysicalDrive
하여 apropriate \\.\SCSI
장치 이름을 얻을 수 있습니다 ..이름 매핑 -. \ PhysicalDrive가이 \합니다 SCSI
예를 들어, 그걸 얻는 방법을 알면 멋집니다. \\.\PhysicalDrive0
은 \\.\SCSI0
과 같습니다.
내 대답은 the question에 게시 된 코드를 살펴보십시오. 질문의 저자는 질문의 텍스트를 많은 시간과 텍스트의 마지막 버전을 분명하게 변경했거나 원래의 문제가 무엇인지 분명하게 변경하지 못했습니다.
here을 다운로드 할 수있는 C 소스 코드 예제에서 다른 Windows API를 사용하여 로컬 드라이브에 대한 많은 종류의 정보를 얻는 방법을 보여줍니다. 당신이 필요로하는 중요한 점은 다음과 같은
DeviceType: 7, DeviceNumber: 5, PartitionNumber: 1
같은 (IOCTL_STORAGE_GET_DEVICE_NUMBER
수신)되는 DeviceType 및 DeviceNumber 같은 몇 가지 이름 변환이 운영 체제에서 고유와 같은 장치를 식별하는 데 사용될 수 있다는 것입니다. 당신이 IOCTL_STORAGE_GET_DEVICE_NUMBER 제어 코드의 문서에서 찾을 수있는 문에 C 참조 : STORAGE_DEVICE_NUMBER 구조
값은 장치가 제거됩니다 때까지 변경되지 않은 상태로 유지 보장 또는 시스템이 다시 시작 입니다. 장치가 다시 시작될 때마다 이 지속되거나 시스템을 다시 시작하면 이 다시 시작될 수도 있습니다.
그런데 \\.\SCSI0
기기와 \\.\PhysicalDrive0
을 비교하고 해당 통신문을 찾을 수 있습니다.
올레그, 귀하의 회신에 많은 감사드립니다. 나는 가능한 한 빨리 그것을 시도 할 것이다. –
'IOCTL_STORAGE_GET_DEVICE_NUMBER'가 실패하고 GetLastError가 ERROR_INVALID_FUNCTION이라고하기 때문에'\\. \ SCSI' 장치에'STORAGE_DEVICE_NUMBER' 데이터를 얻는 것은 간단한 일이 아닌 것 같습니다. –
@Ilya Matvejchikov : 아마도'\\. \ SCSI'가 아닌'\\. \ SCSI0' 또는'\\. \ SCSI1'을 의미 할 것입니다. [WinObj] (http://technet.microsoft.com/en-us/sysinternals/bb896657)를 사용하여 컴퓨터에 어떤 장치가 있는지 확인할 것을 권장합니다. 처음에는'GLOBAL ?? '을보십시오. – Oleg