질문과 답변

윈 도 우 램디스크/VHD 식별 여부는 SetupDI API를 이용하면 됩니다

2016.04.12 20:15

kernel 조회:775

Ram Disk 도 soft/hard link 가 됩니다.


따라서 램디스크인지 아닌지를 알아 내려면 Device Driver Class Installer를 구현할 때 많이 사용하는 SetupDI Windows API를 이용해서

램디스크의 Parent 디바이스가 PCI, USB 등의 실제 Bus Enumerator 인지 아닌지를 식별해서 램디스크인지 아닌지를 알아 내야 합니다.


가상디스크의 경우에는. 이를테면 어떤 드라이브가 VHD를 이용해서 마운트 되어 있다고 할 때, 이 드라이브가 VHD로 마운트 되어있는지 아닌지를

알아내는 방법은 SetupDI API를 이용해서 Device의 Hardware ID에 "Msft____Virtual_Disk____" 라는 문자열을 갖고있는지 아닌지를 통해서 알아 낼 수

있습니다.


VHD의 경우 "Msft____Virtual_Disk____" 이 포함된 문자열을 디바이스 인스턴스 Hardware ID로 내부적으로 사용 합니다.


VHD 말고 다른 가상디스크들은 "Arsenal_________Virtual_", "KernSafeVirtual_________", "VMware__VMware_Virtual_S" 등을 Hardware ID로 사용합니다.



USB 디스크의 경우는 예를들어서


새로텍의 USB 3.0 UASP 프로토콜 지원모델 처럼 어떤 USB 3.0 Disk가 UASP 를 지원하는지 아닌지를 알아내는 것은

Parent Device의 Bus Enumerator Name이 "UASPSTOR"으로 나오는지를 확인하면 됩니다. ASUS 메인보드 처럼 USB 3.0 Host Controller 용 디바이스 드라이버를 따로 제공하는 경우에는 UASP 프로토콜 지원 장치의 Parent Device의 Bus Enumerator Name이 "ASUSSTPT"으로 나올 수도 있습니다.


USB 포트에 물려있는 디바이스가 3.0 속도로 동작하고 있는지, 아님 2.0 속도로 동작하고 있는지도 SetupDI API를 이용해서 Root Hub 디바이스 ID를 알아 낸 후 DeviceIoControl API에 파라미터를 전달해서 알아 낼 수 있습니다. API 에 대한 구체적인 내용은 MSDN 문서를 참고하세요. 

번호 제목 글쓴이 조회 등록일
[공지] 질문과 답변 게시판 이용간 유의사항 gooddew - -
63124 윈 도 우| Windows 7 AHCI mode 사용 [10] keywest 1350 04-14
63123 윈 도 우| 부팅이 안됩니다 ㅠ.ㅠ [3] brucex 808 04-14
63122 윈 도 우| Windows 10 Korean IME Deleted [1] 구뚜 1002 04-14
63121 윈 도 우| 강제 로그오프 관련 문의 [1] red 996 04-14
63120 윈 도 우| PE에 관한 초보적인 질문 입니다. [9] 북학인 1015 04-14
63119 소프트웨어| art teknika console 프로그램 질문 드립니다. MrSUNG 602 04-14
63118 기 타| 바이두 가입방법이요 虎視 1481 04-14
63117 기 타| 360 프록시 안쓰고 속도 올리는법 아시는분 [9] 얼음심장 881 04-14
63116 윈 도 우| PE 부팅시 특정프로그램(복구프로그램)만 실행될 수 있게 ... [7] 황당무계 1325 04-13
63115 윈 도 우| vhd로 된 운영체제에서 버박,윈빌더 실행오류 납니다. [3] 서기다 719 04-13
63114 하드웨어| 메인보드 교체시 발생하는 에러질문입니다 [7] 배추장사 970 04-13
63113 윈 도 우| VHD사용시 SDD가 필수인가요. [5] 뷰리풀투데 961 04-13
63112 윈 도 우| 8x86V2c 수정중 Classic Shell 수정 [22] 개가똥을참 907 04-13
63111 윈 도 우| 모니터가 10분 뒤에 절전모드 안들어가게 하고 싶은데 [4] 비르사 1153 04-13
63110 윈 도 우| WIM파일로 된 윈도우10PE를 USB로 부팅되게 어찌 하는지요? [3] 알라뷰 1274 04-13
63109 윈 도 우| 윈도우10 일정에 일정(ical) 추가 방법 알려주세요 ㅠㅠ neonchang 1045 04-13
63108 기 타| 윈도우10 사용중인데요 [2] 대륙의별 838 04-13
63107 소프트웨어| easybcd 와 bootice 같은 용도인가요? [4] 1992 1248 04-13
63106 기 타| 바이두 다운 받을때 [1] DaBin 1150 04-13
63105 하드웨어| USB 타입 무선랜카드 추천좀 부탁드립니다,,, [1] Zz타락천사z 1042 04-13
XE1.11.6 Layout1.4.8