2012-12-03 2 views
5

Per ottenere il GUID per un dispositivo HID, so che posso fare questo:Come recuperare il GUID dell'interfaccia del dispositivo USB?

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

C'è una funzione simile a quella HidD_GetHidGuid() che mi darà il GUID per altre classi di dispositivi?

Sto cercando di determinare se è collegato un adattatore di rete wireless USB. Credo di volere GUID_DEVINTERFACE_NET ma non so come recuperarlo.

+0

SetupDiCreateDeviceInfoList + SetupDiEnumDeviceInfo: http://msdn.microsoft.com/en-us/library/windows/hardware/ff541247%28v=vs.85%29.aspx –

+0

@HansPassant si può spiegare un po 'di più? mi ha letto che il modo in cui lo usi è dando il GUID a SetupDiCreateDeviceInfoList() che mi riporta indietro dove ho iniziato ... – fbo

+0

Seleziona il tipo di dispositivo che vuoi enumerare, è un "class guid" . Come GUID_DEVINTERFACE_NET –

risposta

3

io non pensi di avere qualcosa di simile, questi ClassGUIDs sono decise da Microsoft la lista è qui:

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

Un buon esempio potrebbe essere questo CodeProject article.

+0

troppo male! Ho avuto a questo: \t \t 'if (USBtype == 1) { \t \t \t \t \t HidD_GetHidGuid (& myHidGuid); // definire il HID GUID \t \t} \t \t else if (USBtype == 2) \t \t { \t \t \t myHidGuid = GUID_DEVINTERFACE_NET; // define HID GUID \t \t} a causa di un errore del linker quando provo a usare GUID_DEVINTERFACE_HID. Volevo che i casi corrispondessero :) Grazie per i collegamenti! – fbo

+0

inserisci un po 'di codice, e maggiori dettagli sull'errore, sembra interessante – garzanti

+0

Solo FYI, le classi ** setup ** del dispositivo non sono necessariamente la stessa cosa delle classi ** dell'interfaccia ** del dispositivo, i collegamenti che hai postato sono per le classi di configurazione del dispositivo , [ecco un elenco di classi di interfaccia dispositivo] (https://msdn.microsoft.com/en-us/library/windows/hardware/ff553412 (v = vs.85) .aspx). Potresti anche trovare [questa pagina] (https://docs.microsoft.com/en-us/windows-hardware/drivers/install/setup-classes-versus-interface-classes) interessante Inoltre sembra che tu abbia postato lo stesso link due volte. – jrh