많은 USB 장치에는 고유 한 일련 번호 (실제로는 유니 코드 문자열)가 들어 있으며 호스트는 16 비트 공급 업체 및 제품 ID 번호와 함께 사용하여 고유 한 일련 번호 장치.Windows에서 USB 키보드의 일련 번호 검색
저는 시스템에 연결된 모든 USB 휴먼 인터페이스 장치의 목록을 표시 할 수있는 Windows 응용 프로그램을 작성하는 방법을 알아 내려고하고 있습니다. 목록에는 시스템 키보드를 포함하여 각 HID에 대해 하나의 행이 있습니다. 목록에 공급 업체 ID, 제품 ID 및 일련 번호 열이 있습니다.
GUID가 HidD_GetHidGuid
인 SetupDiGetClassDevs
을 호출하고 SetupDiEnumDeviceInterfaces
을 반복적으로 호출하여 결과를 반복함으로써 USB HID 목록을 가져올 수 있습니다. 그런 다음 SetupDiGetDeviceInterfaceDetail
으로 전화하여 CreateFile
으로 열 수있는 각 장치의 경로를 가져올 수 있습니다. 시스템 키보드에 대해 읽거나 쓰기 권한을 요청하지 않도록주의해야합니다. 거기에서 HidD_GetAttributes
을 호출하여 공급 업체 및 제품 ID 번호를 얻을 수 있습니다.
일련 번호 문자열을 검색하는 방법을 알아 내는데 어려움이 있습니다. 이 문제에 대한 솔루션을 검색 할 때 USB 대용량 저장 장치의 일련 번호를 얻는 방법에 대한 정보는 많이 있지만 다른 USB 장치 유형에는 적용되지 않을 수 있습니다. 일련 번호 문자열을 검색하는 일반적인 방법이나 HID 관련 방법을 발견하게되어 기쁩니다.
나는 libusb
의 Win32에서 포트가 너무 많은 문제없이 관리 할 수있는 느낌이 있지만, 불행하게도 나는 그런 언급 된 기능이 포함 된 setupapi
및 hid
DLL을 같은 Windows와 함께 라이브러리에만 의존하는 솔루션이 필요합니다 위.
모든 의견을 보내 주시면 대단히 감사하겠습니다.
불행히도 USB 문자열 설명자는 HID 입력 보고서 또는 출력 보고서 또는 기능 보고서가 아닙니다. 그래도 고마워! – zaphod