2012-12-03 26 views
5

Để có được GUID cho một thiết bị HID, tôi biết tôi có thể làm điều này:Làm cách nào để truy xuất giao diện thiết bị USB GUID?

GUID myHidGuid; 
memset(&myHidGuid, 0, sizeof(GUID)); //allocate 
HidD_GetHidGuid(&myHidGuid); //define the HID GUID 

Có một chức năng tương tự như HidD_GetHidGuid() mà sẽ cung cấp cho tôi những GUID cho lớp thiết bị khác?

Tôi đang cố xác định xem bộ điều hợp mạng không dây USB có được gắn hay không. Tôi tin rằng tôi muốn GUID_DEVINTERFACE_NET nhưng tôi không biết làm thế nào để lấy nó.

+0

Thiết lậpDiCreateDeviceInfoList + SetupDiEnumDeviceInfo: http://msdn.microsoft.com/en-us/library/windows/hardware/ff541247%28v=vs.85%29.aspx –

+0

@HansPassant bạn có thể giải thích thêm một chút không? nó đọc với tôi rằng cách bạn sử dụng đó là bằng cách đầu tiên cho GUID để SetupDiCreateDeviceInfoList() mà đặt tôi ngay trở lại nơi mà tôi bắt đầu ... – fbo

+0

Bạn chọn loại thiết bị bạn muốn liệt kê, nó là một "class guid" . Giống như GUID_DEVINTERFACE_NET –

Trả lời

3

Tôi không nghĩ rằng bạn có một cái gì đó tương tự, những ClassGuids được quyết định bởi Microsoft danh sách được ở đây:

http://msdn.microsoft.com/en-us/library/windows/hardware/ff553426(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/windows/hardware/ff553428(v=vs.85).aspx

Một ví dụ điển hình sẽ là CodeProject article này.

+0

quá tệ! Tôi đã phải này: \t \t 'nếu (USBtype == 1) \t \t { \t \t \t HidD_GetHidGuid (& myHidGuid); // xác định HID GUID \t \t} \t \t else if (USBtype == 2) \t \t { \t \t \t myHidGuid = GUID_DEVINTERFACE_NET; // xác định HID GUID \t \t} ' vì lỗi liên kết khi tôi cố gắng sử dụng GUID_DEVINTERFACE_HID. Tôi muốn các trường hợp khớp với nhau :) Cảm ơn bạn đã liên kết! – fbo

+0

đăng một số mã và các chi tiết khác về lỗi, nó có vẻ thú vị – garzanti

+0

Chỉ các lớp học FYI, thiết bị ** ** không nhất thiết phải giống với các lớp ** giao diện **, các liên kết bạn đăng cho các lớp thiết lập thiết bị , [đây là danh sách các lớp giao diện thiết bị] (https://msdn.microsoft.com/en-us/library/windows/hardware/ff553412 (v = vs.85) .aspx). Bạn cũng có thể tìm thấy [trang này] (https://docs.microsoft.com/en-us/windows-hardware/drivers/install/setup-classes-versus-interface-classes) thú vị Ngoài ra, có vẻ như bạn đã đăng bài tương tự liên kết hai lần. – jrh

Các vấn đề liên quan