C++
과 함께 win32 api를 사용하고 있습니다.볼륨을 얻는 방법 GUID
"장치 경로"를 사용하여 볼륨 GUID를 얻는 방법을 알고 싶습니다.
내 장치는 다음과 같습니다
\\?\usb#vid_04f2&pid_0111#5&39fe81e&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
감사합니다.
C++
과 함께 win32 api를 사용하고 있습니다.볼륨을 얻는 방법 GUID
"장치 경로"를 사용하여 볼륨 GUID를 얻는 방법을 알고 싶습니다.
내 장치는 다음과 같습니다
\\?\usb#vid_04f2&pid_0111#5&39fe81e&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
감사합니다.
이것은 장치 인스턴스 ID가 usb\VID_04f2&PID_0111\5&39fe81e&0&2
인 장치입니다. 아마도 대용량 저장 장치 일 것입니다. 이제 대용량 저장 장치에는 실제로 드라이브 문자가없는 문제가 있습니다. 드라이브 문자가있는 디스크의 볼륨입니다. 두 개의 파티션이있는 경우 단일 USB 대용량 저장 장치에 두 개의 드라이브 문자가있을 수 있습니다. 따라서 볼륨을 직접 가져 오는 기능은 없습니다.
usb\VID_04f2&PID_0111\5&39fe81e&0&2
에 뿌리를 둔 장치 트리를 열거해야 장치 유형이 "볼륨"인 하위 항목을 찾을 수 있습니다. DEV_BROADCAST_DEVICEINTERFACE는 (는) GetVolumeNameForVolumeMountPoint()
에 전달할 수있는 dbcc_name
필드를 갖습니다.
디바이스가 마운트되지 않은 경우 (예 : Windows의 드라이브 문자가 부족한 경우)'GetVolumeNameForVolumeMountPoint'를 사용할 수 있습니까? –
@ Judge Maygarden : 여기에 실수가 있다고 생각합니다. Windows에서 "마운트"에는 드라이브 문자가 필요하지 않습니다. 여기서 사용 된 "마운트 포인트"('dbcc_name')는 확실히 드라이브 문자가 아닙니다. – MSalters
WMI에 대해 쿼리 해 보셨습니까? 그렇게하는 방법에 대한 세부 정보가 필요하면 알려주십시오.
답장을 보내 주셔서 감사합니다. win32api 방식으로 수행 – user198725878
무엇을 사용 하시겠습니까? –
@codeka : 장치 경로로 매핑 할 드라이브 문자를 가져와야합니다. – user198725878
이 질문은 원하는만큼 여러 번 질문 할 수 있지만 답변은 변경되지 않습니다. 다른 질문에 게시 한 링크는이 작업을 수행하는 방법을 보여줍니다. – Luke