윈 도 우 현재 외장하드 연결이 2.0 인지 3.0 인지 체크?
2016.05.02 15:43
제 외장하드는 불이 들어오는 창이 있어서
노란색이면 usb 2.0 으로 연결된 것을 뜻하고 파란색이면 usb 3.0 으로 연결된 것을 뜻해요.
그런데 가끔 그 외장하드를 usb 3.0 포트에 꽂아도 노란색인 경우가 있는뎅
그럴 때는 비록 3.0 포트에 꽂았지만 복사속도는 usb 2.0 밖에 안 나와요. 초당 20메가;;
원인은 전기힘이 딸려서지요. 해결책은 단기적으로는 재부팅.. 그런 빈도가 많다면 유전원usb허브를 장착해야 하고..
방금 건 아는 사실이고 -_-;
본 질문은
현재 외장하드와 노트북의 연결이 usb 3.0 적인지 usb 2.0 적인지 소프트웨어적으로 판별할 수는 없을까?
입니다. 즉 제 외장하드 말고 보통 외장하드나 외장SSD 에서도 판별이 되도록..
물론 덩치 큰 파일 하나를 직접 복사시키는 걸로 실험하면 되겠지만..
그것보다 직관적이고 빠른 방법이 분명히 있을 것 같아요. 감사합니다 ^^
댓글 [7]
-
kernel 2016.05.02 18:39
-
kernel 2016.05.02 18:40
USB 장치가 3.0을 지원하는 디바이스인지 아닌지, 3.0 지원 디바이스인데 2.0 포트에 연결되어 있는지 아닌지, 현재 어떤 포트를 사용하고 있는지
디바이스가 UASP를 지원하는 지 등등 자세한 정보를 알수 있게 됩니다.
-
VenusGirls 2016.05.02 19:33
간단하게 보려면 SIV (System Infomation Viewer) 라는 프로그램을 사용하면 됩니다.
-
kernel 2016.05.02 19:37
bool UsbIoControl::GetConnectionInfo(int UsbPort)
{
USB_NODE_CONNECTION_INFORMATION_EX_V2 conn_info_v2 = { 0 };
int size = sizeof(conn_info_v2);
conn_info_v2.ConnectionIndex = UsbPort;
conn_info_v2.Length = size;
conn_info_v2.SupportedUsbProtocols.Usb300 = 1;
conn_info_v2.SupportedUsbProtocols.Usb200 = 1;
conn_info_v2.SupportedUsbProtocols.Usb110 = 1;
bool b = IoControl(IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2, &conn_info_v2, size, &conn_info_v2, size, nullptr);printf(" Usb3=%d, Usb2=%d, Usb1=%d\n", conn_info_v2.SupportedUsbProtocols.Usb300, conn_info_v2.SupportedUsbProtocols.Usb200, conn_info_v2.SupportedUsbProtocols.Usb110);
printf(" DeviceIsOperatingAtSuperSpeedOrHigher=%d\n", conn_info_v2.Flags.DeviceIsOperatingAtSuperSpeedOrHigher);
printf(" DeviceIsSuperSpeedCapableOrHigher=%d\n", conn_info_v2.Flags.DeviceIsSuperSpeedCapableOrHigher);USB_NODE_CONNECTION_INFORMATION_EX conn_info = { 0 };
conn_info.ConnectionIndex = UsbPort;
size = sizeof(conn_info);
b = IoControl(IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX, &conn_info, size, &conn_info, size, nullptr);
printf(" speed=%d\n", conn_info.Speed);return true;
} -
kernel 2016.05.02 19:39
위 코드는 본인이 C++로 구현해서 실제 사용하고 있는 코드 입니다. API 사용 방법은 MSDN 문서를 참고 하세요. -
kernel 2016.05.02 19:44
SetupDI와 DeviceIoControl을 이용하면 장치들의 Bus - relation 관계, 제조사명, 모델명, 시리얼 넘버, SATA 인터페이스를 사용하는 USB 장치 일 경우, Bus - bridge 관계 등 모든 정보를 알아 낼수 있어요. 마운트 되어있는 디스크가 vhd로 마운트 된 건지 아닌지는 하드웨어 ID에 "Msft____Virtual_Disk____"라는 문자열이 들어가 있는지 체크해서 알수도 있고요. -
ton3d 2016.05.03 10:11
두 분 모두 감사합니다. 그런데 클래스 이상의 답변이라서 시간을 갖고 생각 해봐야겠네요^^:
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
63458 | 윈 도 우| 윈도우 7 설치 문제 [8] | ㅅrㄹrㅇe | 1041 | 05-02 |
63457 | 윈 도 우| 윈도우10 mp3플레이어 연결 안되나요? [4] | 플라즈마 | 1142 | 05-02 |
63456 | 서버 / IT| 공유기 추천 부탁드립니다.. [4] | Jeremiah | 891 | 05-02 |
63455 | 윈 도 우| 고수님들 ~혹시 윈10으로 업데이트 안돼게하는 배치파일 없... [3] | 럭스 | 781 | 05-02 |
63454 | 소프트웨어| PE에서 삼성복구솔루션SRS 실행 가능할까요? [1] | 레드2 | 1046 | 05-02 |
63453 | 하드웨어| 모니터 해상도 질문입니다 [6] | 오뎅궁물 | 681 | 05-02 |
63452 | 윈 도 우| 네트워크 ip 설정 질문입니다. [4] | 나데시코 | 923 | 05-02 |
63451 | 윈 도 우| 해상도가 다르게 표시됩니다. [1] | 한스 | 555 | 05-02 |
63450 | 윈 도 우| 윈10 10586.104 에서 wmware사용가능한지요? [2] | 복태취업했 | 590 | 05-02 |
63449 | 윈 도 우| Win 10 우측하단에 나타나는 버전표시 [2] | mso | 748 | 05-02 |
63448 | 소프트웨어| PE에서 AOMEI Backupper 실행 [3] | ‡0‡ | 913 | 05-02 |
63447 | 기 타| 스샷 게시판에 첨부파일 올리려면.....? [2] | jucom | 812 | 05-02 |
63446 | 윈 도 우| 단일 ssd에 윈도우10을 새로 설치할 경우, raid로 설정 설... [2] | 이프로 | 1050 | 05-02 |
63445 | 하드웨어| LG 모니터 끄면 PC 모니터도 같이 꺼지는 현상 문의 [3] | ksire | 1176 | 05-02 |
» | 윈 도 우| 현재 외장하드 연결이 2.0 인지 3.0 인지 체크? [7] | ton3d | 954 | 05-02 |
63443 | 윈 도 우| win10버전정보 [3] | 자유시간 | 1301 | 05-02 |
63442 | 윈 도 우| 윈도우10 기본 앱 선택 불가능 [2] | Gurupam | 921 | 05-02 |
63441 | 소프트웨어| USB 포트 보호캡 중에 불빛이 나오는 제품을 찾고 있습니다. [2] | chobo333 | 923 | 05-02 |
63440 | 윈 도 우| 윈도우를 오랜 만에 설치를 하려 했더니.. [6] | 테츠로 | 1153 | 05-02 |
63439 | 서버 / IT| ping 값 손실 [2] | 쭌쭌 | 1132 | 05-02 |
윈도우즈 API 중에 SetupDI 란 API가 있어요. 그 API를 이용해서 USB Root Hub 에 연결되어있는 usb 장치들의 디바이스 속성을 읽어오면 됩니다.