Condividi tramite


Panoramica dell'enumerazione delle raccolte di interfacce nei dispositivi compositi USB

Le interfacce in un dispositivo USB composito possono essere raggruppate in raccolte. Il driver padre generico USB (Usbccgp.sys) può enumerare le raccolte di interfacce in quattro modi.

Questi quattro metodi di enumerazione delle raccolte di interfacce vengono disposti gerarchicamente nel modo seguente:

  1. Routine di callback fornite dal fornitore

    Se il fornitore ha registrato una routine di callback con il driver padre generico USB (Usbccgp.sys), il driver padre generico ha la precedenza alla routine di callback e consente alla routine di callback di raggruppare le interfacce anziché usare un altro metodo. Per altre informazioni sull'enumerazione della raccolta di interfacce tramite routine di callback fornite dal fornitore, vedere Enumerazione delle raccolte di interfacce nei dispositivi compositi USB.

  2. Descrittori funzionali dell'unione

    . Se il fornitore ha abilitato l'enumerazione CDC e WMCDC nel driver padre generico USB, il driver padre generico usa descrittori funzionali di unione (UFD) per raggruppare le interfacce nelle raccolte. Se abilitato, questo metodo ha la precedenza su tutti gli altri metodi, ad eccezione delle routine di callback fornite dal fornitore.

  3. Descrittori di associazione di interfaccia

    Se sono presenti descrittori di associazione dell'interfaccia (IAD), il driver padre generico USB raggruppa sempre le interfacce tramite ID anziché tramite metodi legacy. Microsoft consiglia ai fornitori di usare GLI ID per definire le raccolte di interfacce.

  4. Metodo audio legacy

    Il driver padre generico USB è in grado di enumerare le raccolte di interfacce usando tecniche legacy riservate alle funzioni audio. Il driver padre generico non usa questo metodo se nel dispositivo sono presenti ID.

Personalizzazione dell'enumerazione delle raccolte di interfacce per i dispositivi compositi

Alcuni dispositivi USB dispongono di raccolte di interfacce che l'IAD (USB Interface Association Descriptor) non è in grado di descrivere. In Windows Vista e nei sistemi operativi successivi i fornitori possono personalizzare il modo in cui il driver padre generico USB (Usbccgp.sys) definisce ed enumera le raccolte di interfacce di un dispositivo. Questa operazione viene eseguita tramite una routine di callback di enumerazione in un driver di filtro. La routine di callback assiste il driver padre generico nella definizione di raccolte di interfacce personalizzate per il dispositivo.

Affinché il driver padre generico definisci raccolte di interfacce personalizzate, il fornitore del dispositivo composito deve:

  1. Implementare la routine di callback di enumerazione (USBC_START_DEVICE_CALLBACK).
  2. Fornire un puntatore alla routine di callback nell'interfaccia di configurazione del dispositivo USB (membro StartDeviceCallback di USBC_DEVICE_CONFIGURATION_INTERFACE_V1).
  3. Specificare un file INF che corrisponda all'ID dispositivo composito e carichi in modo esplicito sia il driver padre generico USB che il driver di filtro.

Considerazioni sull'implementazione

Il driver di filtro che contiene la routine di callback di enumerazione può essere un driver di filtro superiore o inferiore. Quando il driver padre generico USB riceve una richiesta di IRP_MN_START_DEVICE per avviare un dispositivo composito, esegue una query per l'interfaccia di configurazione del dispositivo USB inviando una richiesta di IRP_MN_QUERY_INTERFACE all'inizio dello stack di driver.

Quando riceve una richiesta di IRP_MN_QUERY_INTERFACE , il driver di filtro deve controllare il tipo GUID nel membro InterfaceType della richiesta per verificare che l'interfaccia richiesta sia di tipo USB_BUS_INTERFACE_USBC_CONFIGURATION_GUID. In caso affermativo, il driver di filtro restituisce un puntatore all'interfaccia nel membro Interface dell'IRP.

La routine di callback di enumerazione deve restituire un puntatore a una matrice di descrittori di funzione (USBC_FUNCTION_DESCRIPTOR) che descrivono le raccolte di interfacce. Ogni descrittore di funzione contiene una matrice di descrittori di interfaccia (USB_INTERFACE_DESCRIPTOR) che descrivono la raccolta di interfacce. La routine di callback deve allocare sia i descrittori di funzione che i descrittori di interfaccia dal pool non di paging. Il driver padre generico rilascia questa memoria. La routine di callback deve garantire che il membro NumberOfInterfaces di ogni USB_INTERFACE_DESCRIPTOR segnala accuratamente il numero di interfacce nella raccolta di interfacce.

Il driver padre generico crea un oggetto dispositivo fisico (PDO) per ogni descrittore di funzione.

L'interfaccia di configurazione del dispositivo USB e la routine di callback di enumerazione sono riepilogate nelle routine del driver padre generico.

Meccanismo di caricamento del driver padre generico USB

Quando un dispositivo composito soddisfa i requisiti descritti in Enumerazione di dispositivi compositi USB, il sistema operativo genera un ID compatibile di USB\COMPOSITE per indicare che il dispositivo è composito. L'ID compatibile produce una corrispondenza in Usb.inf e il sistema operativo carica automaticamente il driver padre generico USB, senza l'aiuto di un file INF fornito dal fornitore.

Tuttavia, questo meccanismo predefinito non funziona per i dispositivi compositi che richiedono un'enumerazione personalizzata delle raccolte di interfacce, perché nel meccanismo predefinito il sistema non carica il driver di filtro fornito dal fornitore richiesto. Per il funzionamento del meccanismo di routine di callback di enumerazione, il driver di filtro che espone l'interfaccia di configurazione del dispositivo USB deve essere già caricato quando l'elemento padre generico USB enumera le raccolte di interfacce del dispositivo composito. Ciò richiede al fornitore del dispositivo composito di installare un file INF corrispondente all'ID dispositivo composito e carica in modo esplicito sia il driver padre generico USB che il driver filtro.

Supporto per la classe di dispositivi di comunicazione mobile wireless

In Windows Vista il driver padre generico USB (Usbccgp.sys) fornisce supporto per i dispositivi inclusi nella classe di comunicazione USB (Universal Serial Bus) e nella classe WMCDC (Usb Wireless Mobile Device Class).

La specifica WMCDC (USB Wireless Mobile Communication Device Class) stabilisce uno standard per la connessione, il controllo e lo scambio di contenuti tra un host e un dispositivo mobile wireless (ad esempio, un telefono cellulare) quando il dispositivo è connesso a una porta USB. WMCDC è un'estensione della classe di dispositivi di comunicazione (CDC), che include un'ampia gamma di dispositivi di comunicazione e di rete. Questa sezione descrive l'architettura che supporta i dispositivi CDC e WMCDC nei sistemi operativi Windows.

I dispositivi WMCDC sono costituiti da più funzioni raggruppate in set di dati logici. La maggior parte dei dispositivi WMCDC dispone di un singolo portatile logico, ma un dispositivo potrebbe avere più set di dispositivi logici. I telefoni logici in genere includono funzioni come un modem dati/fax, un archivio oggetti e una struttura di controllo delle chiamate. Un handset logico può includere anche funzioni di supporto definite da altre specifiche USB, ad esempio la specifica USB Audio Class, la specifica della classe USB Human Input Device (HID) e la specifica USB Video Class.

L'architettura WMCDC di Windows usa driver Windows nativi per gestire le funzioni del dispositivo WMCDC. Ad esempio, è possibile usare il sottosistema TAPI (Windows Telephony Application Program Interface) per gestire le funzioni di modem vocali e dati/fax del dispositivo e il sottosistema NDIS (Network Driver Interface Specification) di Windows per gestire la funzione LAN Ethernet del dispositivo. Inoltre, è possibile gestire alcune funzioni, ad esempio una funzione OBEX (Object Exchange Protocol), nel software in modalità utente con l'assistenza di WinUSB (Winusb.sys).

Questa immagine mostra uno stack di driver di esempio per un dispositivo WMCDC.

Diagramma di una configurazione di dispositivo di esempio e dello stack di driver.

Nella figura precedente il dispositivo WMCDC contiene un singolo handset logico: una funzione OBEX e una funzione modem. Un file INF fornito dal fornitore carica i driver nativi di Windows per gestire il modem. La funzione OBEX viene gestita da un driver in modalità utente fornito dal fornitore che viene eseguito in User-Mode Driver Framework (UMDF). Il driver in modalità utente usa il protocollo WPD (Windows Portable Devices) per comunicare con le applicazioni utente e l'interfaccia esportata da Introduzione a WinUSB per sviluppatori per comunicare con lo stack USB. In generale, un file INF fornito dal fornitore caricherà un'istanza separata di Winusb.sys per ogni raccolta di interfacce che usa Winusb.sys.

Impostazioni del Registro di sistema

Lo stack USB non supporta automaticamente WMCDC. È necessario specificare un file INF che carica un'istanza di Usbccgp.sys. Il file INF deve contenere una sezione AddReg che imposta il valore del Registro di sistema EnumeratorClass nella chiave software associata a Usbccgp.sys su un valore REG_BINARY costruito da tre numeri: 0x02, 0x00 e 0x 00. Nell'esempio di codice seguente di un file INF di esempio viene illustrato come impostare EnumeratorClass sul valore appropriato.

[CCGPDriverInstall.NT]
Include=usb.inf
Needs=Composite.Dev.NT
AddReg=CCGPDriverInstall.AddReg

[CCGPDriverInstall.NT.Services]
Include=usb.inf
Needs=Composite.Dev.NT.Services

[CCGPDriverInstall.AddReg]
HKR,,EnumeratorClass, 0x00000001,02,00,00

Il valore che è necessario assegnare a EnumeratorClass viene costruito da tre valori binari a 1 byte rappresentati nel file INF per coppie di cifre esadecimali: 02, 00 e 00. Questi tre numeri corrispondono ai valori assegnati rispettivamente dal forum degli implementatori USB alla classe di dispositivo CDC, alla sottoclasse del dispositivo CDC e al protocollo di dispositivo CDC.

Gli argomenti seguenti descrivono ulteriormente il WMCDC:

Enumerazione delle raccolte di interfacce in WMCDC

La classe WMCDC (USB Wireless Mobile Communication Device) è una sottoclasse della classe di dispositivo di comunicazione USB (CDC). La specifica WMCDC estende ma non modifica sostanzialmente le linee guida CDC per la definizione delle raccolte di interfacce. In particolare, i dispositivi WMCDC devono essere conformi alle linee guida CDC per la definizione delle raccolte di interfacce.

Le raccolte di interfacce CDC contengono un'interfaccia master (USB_INTERFACE_DESCRIPTOR) che appartiene alla classe di interfaccia di comunicazione (bInterfaceClass = 0x02) o alla classe dell'interfaccia dati (bInterfaceClass = 0x0A). Se l'interfaccia master appartiene alla classe di interfaccia di comunicazione (situazione tipica), la sottoclasse dell'interfaccia master (bInterfaceSubClass) specifica un modello di controllo CDC. Il modello di controllo indica il tipo di interfacce incluse nella raccolta di interfacce. Per una descrizione dei modelli di controllo definiti dal forum degli implementatori USB, vedere la specifica CDC e la specifica WMCDC.

L'interfaccia master di una raccolta di interfacce è seguita da un set di descrittori funzionali obbligatori specifici della classe, incluso un descrittore funzionale dell'unione (UFD). L'UFD elenca i numeri delle interfacce che appartengono alla raccolta. Il campo bMasterInterface dell'UFD contiene il numero dell'interfaccia master. Zero o più campi bSubordinateInterface contengono i numeri delle altre interfacce (subordinate) nella raccolta.

Per la maggior parte dei tipi di modelli di controllo, il driver padre generico USB (Usbccgp.sys) crea un oggetto dispositivo fisico (PDO) per ogni UFD. Alcuni modelli di controllo includono tuttavia un'interfaccia audio a cui il driver padre generico enumera separatamente dalla raccolta di interfacce a cui appartiene l'interfaccia audio. L'interfaccia audio viene visualizzata nell'elenco di interfacce subordinate (bSubordinateInterface) nell'UFD della raccolta di interfacce, ma il driver padre generico crea un PDO separato per l'interfaccia audio. Sia il PDO per l'interfaccia audio che il PDO per la raccolta di interfacce a cui appartiene l'interfaccia audio sono direttamente sopra l'oggetto dispositivo funzionale (FDO) del dispositivo composito padre nell'albero degli oggetti del dispositivo. Il PDO dell'interfaccia audio non è un elemento figlio della raccolta di interfacce.

Esistono due modelli di controllo le cui caratteristiche di enumerazione sono configurabili nel Registro di sistema: il modello di controllo dell'handset wireless (WHCM), che definisce un handset logico e il modello di controllo OBEX (Object Exchange Protocol). Per configurare le caratteristiche di enumerazione di questi due modelli di controllo, è necessario fornire un file INF che carica un'istanza di Usbccgp.sys e imposta il valore di CdcFlags nella chiave software per tale istanza di Usbccgp.sys. Nella tabella seguente vengono descritte le opzioni di configurazione di CdcFlags.

Bit CdcFlags Bit impostato su 0 Bit impostato su 1
0 (mask = 0x00000001) Il driver padre generico USB crea un PDO separato per ogni interfaccia OBEX. Il driver padre generico USB crea un singolo PDO per tutte le interfacce OBEX.
1 (mask = 0x00000010) Il driver padre generico USB non crea PDO per le interfacce WHCM (telefoni logici). Queste interfacce rimangono nascoste dal punto di vista dell'albero degli oggetti del dispositivo. Il driver padre generico USB crea un PDO per ogni interfaccia WHCM.

Ad esempio, per cancellare entrambi i bit (impostarli su 0), il file INF deve avere la riga seguente in una sezione DDInstall.AddReg .

HKR, , CdcFlags, 0x00010001, 0x00000000

Per impostare entrambi i bit su 1, il file INF deve avere la riga seguente.

HKR, , CdcFlags, 0x00010001, 0x00000011

Per impostare sia bit 0 su 1 che su 1 su 0, il file INF deve avere la riga seguente.

HKR, , CdcFlags, 0x00010001, 0x00000001

Entrambi i bit possono essere impostati o reimpostati, indipendentemente dall'altro bit.

Le figure seguenti illustrano in che modo le diverse configurazioni del Registro di sistema possono creare alberi dei dispositivi diversi per lo stesso dispositivo.

La figura seguente illustra la configurazione PDO quando sia il bit 0 che il bit 1 di CdcFlags sono 0.

Diagramma che illustra una raccolta di interfacce per il mapping degli oggetti del dispositivo per CdcFlags = 0x00000000.

La raccolta di interfacce WHCM (Wireless Handset Control Model) nella figura precedente contiene tre raccolte di interfacce subordinate (bSubordinateInterface): due raccolte OBEX e una raccolta modem. Bit 0 di CdcFlags è 0, quindi il driver padre generico USB non crea un PDO per la raccolta di interfacce WHCM. Bit 1 di CdcFlags è 0, quindi il driver padre generico USB genera un PDO separato per ogni raccolta di interfacce OBEX.

La figura seguente illustra la configurazione PDO quando vengono impostati sia il bit 0 che il bit 1 di CdcFlags .

Diagramma che illustra una raccolta di interfacce per il mapping degli oggetti del dispositivo per CdcFlags = 0x00010001.

Poiché il bit 0 di CdcFlags è impostato su 1, il driver padre generico USB crea un PDO per la raccolta di interfacce WHCM. Poiché il bit 1 di CdcFlags è impostato su 1, il driver padre generico USB raggruppa le due raccolte OBEX e genera un singolo PDO per entrambe le raccolte OBEX.

Potrebbe essere necessario rappresentare raccolte OBEX con un singolo PDO a livello di kernel e distinguere tra ogni singola raccolta OBEX all'interno di un driver in modalità utente. Il protocollo WPD (Windows Portable Devices) consente di raggruppare flussi di dati multiplex tra diverse funzioni OBEX a livello di utente, quando tutte le funzioni OBEX vengono raggruppate in un singolo PDO a livello di kernel.

Il file INF di esempio seguente carica il driver padre generico USB per gestire un dispositivo WMCDC e indica all'elemento padre generico USB di creare PDO per i set di mani logici e di creare un singolo PDO per tutte le raccolte OBEX nel portatile logico.

[Version]
Signature="$Windows NT$"
Class=USB
ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
Provider=%MSFT%
DriverVer=07/01/2001,5.1.2600.0
CatalogFile=ExampleCatalog.cat
PnpLockdown=1

[ControlFlags]
ExcludeFromSelect=*

[Manufacturer]
CompanyName=CompanyName,NTamd64

[CompanyName.NTamd64]
%COMPANYNAME.DeviceDesc%=CCGPDriverInstall,USB\Vid_????&Pid_????

[CCGPDriverInstall.NT]
Include=usb.inf
Needs=Composite.Dev.NT
AddReg=CCGPDriverInstall.AddReg

[CCGPDriverInstall.NT.Services]
Include=usb.inf
Needs=Composite.Dev.NT.Services

[CCGPDriverInstall.AddReg]
HKR,,EnumeratorClass,0x00000001,02,00,00
HKR,,CdcFlags,0x00010001,0x00010001

[Strings]
MSFT="Microsoft"
COMPANYNAME.DeviceDesc="USB Phone Parent"

Gestione delle raccolte di interfacce CDC e WMCDC

Il driver padre generico USB gestisce le interfacce del modello di controllo dell'handset wireless (WHCM) in modo speciale.

L'elenco seguente riepiloga i modi più importanti in cui la gestione delle raccolte di interfacce CDC e WMCDC differisce da quella di altre raccolte di interfacce:

  • La classe di dispositivi di comunicazione mobile wireless consente una quantità limitata di annidamento delle raccolte di interfacce. In particolare, una raccolta di interfacce dell'handset logico , ovvero una raccolta di interfacce WHCM, può contenere altre raccolte di interfacce subordinate. Ad esempio, un telefono conforme a WMCDC può avere una raccolta di interfacce WHCM, che a sua volta contiene una raccolta di modelli di controllo astratta e una raccolta OBEX.
  • È possibile configurare il driver padre generico USB per non enumerare le raccolte di interfacce WHCM. Le raccolte di interfacce WHCM che non sono enumerate rimangono nascoste, ma il driver padre generico usa le informazioni dei descrittori di funzioni di unione (UFD) che appartengono a raccolte di interfacce WHCM per raggruppare ed enumerare raccolte di interfacce subordinate.
  • È possibile configurare il driver padre generico USB per creare oggetti dispositivo fisico separati (PDO) per le raccolte di interfacce del modello di controllo OBEX o per creare un singolo PDO per tutte le raccolte di interfacce del modello di controllo OBEX.
  • L'elenco dei numeri di interfaccia in un UFD può avere lacune. Ovvero, i numeri di interfaccia di un UFD possono fare riferimento a interfacce non contigue. Questo tipo di numerazione non è valido, ad esempio, per il descrittore dell'associazione dell'interfaccia USB (IAD), le cui interfacce devono essere contigue e avere numeri sequenziali.
  • Gli oggetti UFD possono includere raccolte di interfacce audio correlate
  • Gli identificatori hardware (ID) per le raccolte di interfacce CDC e WMCDC devono includere la sottoclasse dell'interfaccia. Altre interfacce USB, i cui ID hardware contengono un suffisso MI_%02X che specifica il numero di interfaccia, non contengono informazioni sulla sottoclasse dell'interfaccia. Le informazioni sulla sottoclasse sono incluse nell'ID hardware per consentire ai fornitori di fornire i file INF con corrispondenze con ID hardware per raccolte di interfacce specifiche, anziché basarsi sulla posizione dell'interfaccia nel layout del descrittore per determinare il driver da caricare per la raccolta. Le informazioni sulla sottoclasse nell'ID hardware consentono anche un percorso di migrazione graduale dai driver forniti dal fornitore correnti che gestiscono raccolte di interfacce WMCDC a alternative, ad esempio driver in modalità utente. Per una descrizione generale del formato degli ID hardware dell'interfaccia USB, vedi Identificatori per i dispositivi USB.

Modelli di controllo CDC e WMCDC

La sezione CDC e WMCDC Control Models descrive le proprietà delle raccolte di interfacce supportate nei sistemi operativi Microsoft Windows. Ogni descrizione include, tra le altre cose, un elenco di identificatori hardware e dispositivo (ID) generati dal driver padre generico USB per la raccolta di interfacce.

La maggior parte delle raccolte di interfacce supportate da Windows corrisponde ai modelli di controllo che appartengono alla classe di dispositivi di comunicazione (CDC) e alla classe di dispositivi mobili wireless (WMCDC), ma il sistema operativo supporta anche raccolte legacy di interfacce audio e video e una raccolta di interfacce definita dal Mobile Computing Promotion Consortium (MCPC).

Le raccolte di interfacce descritte in questa sezione sono le seguenti:

Interfacce della classe audio

Le raccolte di interfacce di classe dispositivo audio USB che si verificano nei dispositivi CDC e WMCDC hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Definizione della classe di dispositivo del bus seriale universale per dispositivi audio, versione 1.0.
Classe Tutte le interfacce nella raccolta di interfacce devono appartenere alla classe di dispositivi audio (0x01).
Sottoclasse Ogni interfaccia nella raccolta di interfacce deve avere una sottoclasse diversa dalla prima interfaccia della raccolta.
Protocollo Nessuno (0x00).
Enumerated Sì.
Interfacce correlate Zero o più interfacce contigue che appartengono alla sottoclasse di streaming (0x02).
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&MI_%02x
USB\Vid_%04x&Pid_%04x&MI_%02x

Gli ID hardware per le raccolte di interfacce audio non contengono informazioni specifiche della classe di interfaccia.
ID compatibili USB\Class_01&SubClass_01&Prot_00
USB\Class_01&SubClass_01
USB\Class_01

Il formato degli ID compatibili per le raccolte di interfacce audio contiene informazioni incorporate sulla classe di interfaccia, sulla sottoclasse di interfaccia e sul protocollo. Per le raccolte di interfacce audio in un dispositivo CDC o WMCDC, la classe di interfaccia è 01, la sottoclasse è 01 e il protocollo è 00.

Modello di controllo astratto CDC

Esistono due versioni del modello ACM (Abstract Control Model). La versione originale è definita nella specifica CDC (USB Communication Device Class ). La specifica WMCDC (USB Wireless Mobile Communication Device Class ) contiene una definizione estesa di ACM.

Le raccolte di interfacce conformi alla specifica WMCDC sono descritte in questa pagina.

Le raccolte di interfacce conformi alla specifica CDC hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Definizioni di classi del bus seriale universale per i dispositivi di comunicazione, versione 1.1, sezione 3.6.2.
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02).
Sottoclasse dell'interfaccia master ACM (0x02).
Protocollo Qualsiasi.
Enumerated Sì.
Interfacce correlate Un'interfaccia della classe di dati e interfacce di classe audio facoltative a cui fa riferimento il descrittore funzionale dell'unione (UFD).
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_02&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_02
USB\Vid_%04x&Pid_%04x&Cdc_02&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_02
ID compatibili USB\Class_02&SubClass_02&Prot_%02X
USB\Class_02&SubClass_02
USB\Class_02
Gestione speciale L'oggetto UFD può fare riferimento a una raccolta di interfacce audio enumerata indipendentemente dalla raccolta di interfacce ACM.

CDC ATM Networking Control Model

Le raccolte di interfacce ANCM (USB CDC ATM Networking Control Model) hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Definizioni di classe del bus seriale universale per i dispositivi di comunicazione, versione 1.1, sezione 3.8.3
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02)
Sottoclasse dell'interfaccia master ANCM (0x07)
Protocollo Nessuno (0x00)
Enumerated
Interfacce correlate Un'interfaccia della classe di dati a cui fa riferimento il descrittore funzionale union (UFD)
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_07&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_07
USB\Vid_%04x&Pid_%04x&Cdc_07&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_07
ID compatibili USB\Class_02&SubClass_07&Prot_00
USB\Class_02&SubClass_07
USB\Class_02
Gestione speciale None

Modello di controllo CAPI CDC

Le raccolte dell'interfaccia del modello di controllo DELL'API COMMON ISDN (CAPI) USB CDC hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Definizioni di classi del bus seriale universale per i dispositivi di comunicazione, versione 1.1, sezione 3.7.2
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02)
Sottoclasse dell'interfaccia master CAPI (0x05)
Protocollo Nessuno (0x00)
Enumerated
Interfacce correlate Un'interfaccia della classe di dati a cui fa riferimento il descrittore funzionale dell'unione (UFD).
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_05&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_05
ID compatibili USB\Class_02&SubClass_05&Prot_00
USB\Class_02&SubClass_05
Gestione speciale None

Modello di controllo direct line CDC

Le raccolte di interfacce DLCM (Direct Line Model) USB CDC hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Definizioni di classe del bus seriale universale per i dispositivi di comunicazione, versione 1.1, sezione 3.6.1.
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02).
Sottoclasse dell'interfaccia master DLCM (0x01).
Protocollo Nessuno (0x00).
Enumerated Sì.
Interfacce correlate Audio Class o interfacce definite dal fornitore a cui fa riferimento il descrittore funzionale dell'unione (UFD).
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_01&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_01
USB\Vid_%04x&Pid_%04x&Cdc_01&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_01
ID compatibili USB\Class_02&SubClass_01&Prot_00
USB\Class_02&SubClass_01``USB\Class_02
Gestione speciale L'UFD fa riferimento a una raccolta di interfacce della classe audio enumerata indipendentemente dalla raccolta di interfacce DLCM.

Modello di controllo della rete Ethernet CDC

Le raccolte di interfacce USB CDC Ethernet Networking Model (ENCM) hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Definizioni di classi del bus seriale universale per i dispositivi di comunicazione, versione 1.1, sezione 3.8.2.
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02).
Sottoclasse dell'interfaccia master ENCM (0x06).
Protocollo Nessuno (0x00).
Enumerated Sì.
Interfacce correlate Un'interfaccia della classe di dati a cui fa riferimento il descrittore funzionale dell'unione (UFD).
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_06&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_06
USB\Vid_%04x&Pid_%04x&Cdc_06&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_06
ID compatibili USB\Class_02&SubClass_06&Prot_00
USB\Class_02&SubClass_06
USB\Class_02
Gestione speciale Gli ID compatibili di questo modello di controllo hanno una corrispondenza in un file INF fornito da Microsoft. Se il sistema operativo non trova una corrispondenza per uno degli ID hardware in un file INF fornito dal fornitore, il sistema carica automaticamente il driver miniport NDIS nativo per gestire la raccolta di interfacce.

Modello di controllo ISDN multicanale CDC

Le raccolte di interfacce ISDN multicanale (MCCM) USB CDC hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Definizioni di classi del bus seriale universale per i dispositivi di comunicazione, versione 1.1, sezione 3.7.1
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02)
Sottoclasse dell'interfaccia master MCCM (0x04)
Protocollo Nessuno (0x00)
Enumerated
Interfacce correlate Più interfacce della classe di dati a cui fa riferimento il descrittore funzionale dell'unione (UFD).
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_04&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_04
USB\Vid_%04x&Pid_%04x&Cdc_04&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_04
ID compatibili USB\Class_02&SubClass_04&Prot_00
USB\Class_02&SubClass_04
USB\Class_02
Gestione speciale None

Modello di controllo telefonico CDC

Le raccolte di interfacce TCM (USB CDC Telephone Control Model) hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Definizioni di classe del bus seriale universale per i dispositivi di comunicazione, versione 1.1, sezione 3.6.3.
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02).
Sottoclasse dell'interfaccia master TCM (0x03).
Protocollo Qualsiasi.
Enumerated Sì.
Interfacce correlate Interfacce della classe audio a cui fa riferimento il descrittore funzionale dell'unione (UFD).
Hardware ID USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_03&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_03
USB\Vid_%04x&Pid_%04x&Cdc_03&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_03
ID compatibile USB\Class_02&SubClass_03&Prot_%02X
USB\Class_02&SubClass_03
USB\Class_02
Gestione speciale L'UFD può fare riferimento a una raccolta di interfacce della classe audio enumerata indipendentemente dalla raccolta di interfacce TCM.

Interfacce univoche del fornitore MCPC

Il Mobile Computing Promotion Consortium (MCPC) ha definito un formato per le raccolte di interfacce prima della specifica WMCDC (Wireless Mobile Communication Device Class) ha fornito un formato per i dispositivi CDC univoci del fornitore. Pertanto, le raccolte di interfacce MCPC non sono conformi allo standard WMCDC.

Tuttavia, il driver padre generico USB può enumerare le raccolte di interfacce MCPC se WMCDC è abilitato. Le raccolte di interfacce MCPC hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Specifica GL-004 di Mobile Computing Promotion Consortium (MCPC)
Classe CDC (0x02)
Sottoclasse 0x88
Protocollo Nessuno (0x00)
Enumerated
Interfacce correlate Zero o più interfacce della classe di dati a cui fa riferimento il descrittore funzionale dell'unione (UFD)
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_88&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_88
USB\Vid_%04x&Pid_%04x&Cdc_88&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_88
ID compatibili USB\Class_02&SubClass_88&Prot_00
USB\Class_02&SubClass_88
USB\Class_02
Gestione speciale None

Interfacce della classe video

Le raccolte di interfacce delle classi di dispositivi video USB che si verificano nei dispositivi CDC e WMCDC hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Definizione della classe di dispositivo del bus seriale universale per i dispositivi video, versione 1.0.
Classe Video (0x0E).
Sottoclasse Controllo video (0x01).
Protocollo Nessuno (0x00).
Enumerated Sì.
Interfacce correlate Zero o più interfacce contigue che appartengono alla sottoclasse di streaming (0x02).
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&MI_%02x
USB\Vid_%04x&Pid_%04x&MI_%02x
ID compatibili USB\Class_0E&SubClass_01&Prot_00
USB\Class_0E&SubClass_01
USB\Class_0E
Gestione speciale Le raccolte di interfacce della classe video ricevono una gestione speciale nei dispositivi CDC. Nei dispositivi non CDC, le raccolte di interfacce della classe video sono definite dai descrittori di associazione di interfaccia (IAD). Nei dispositivi CDC, le raccolte di interfacce della classe video sono definite dai descrittori funzionali dell'unione (UFD).

Modello di controllo astratto WMCDC

Esistono due versioni del modello di controllo astratto.There are two versions of the abstract control model (ACM). La versione originale è definita nella specifica CDC (USB Communication Device Class). La specifica WMCDC (USB Wireless Mobile Communication Device Class) contiene una definizione estesa di ACM. Le raccolte ACM che contengono una funzione fax/modem devono usare la definizione WMCDC di ACM anziché la definizione originale di ACM CDC.

Le raccolte di interfacce conformi alla specifica CDC sono descritte in questa pagina.

Le raccolte di interfacce conformi alla specifica WMCDC hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Specifica della sottoclasse CDC del bus seriale universale per i dispositivi di comunicazione mobile wireless, versione 1.0, sezione 6.2.
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02).
Sottoclasse dell'interfaccia master ACM (0x02).
Protocollo Se la raccolta usa un protocollo del set di comandi AT, il valore del protocollo incorporato negli ID compatibili è 0x01. Se la raccolta usa uno dei protocolli descritti dalla specifica WMCDC, il valore del protocollo incorporato negli ID compatibili viene 0x2 tramite 0x06 o 0xFE.
Enumerated Sì.
Interfacce correlate Un'interfaccia della classe di dati a cui fa riferimento il descrittore funzionale dell'unione (UFD).
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_Modem&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_Modem
USB\Vid_%04x&Pid_%04x&Cdc_Modem&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_Modem
ID compatibili USB\Class_02&SubClass_Modem&Prot_%02X
USB\Class_02&SubClass_Modem
USB\Class_02
Gestione speciale L'UFD potrebbe fare riferimento a una raccolta di interfacce audio enumerata indipendentemente dalla raccolta di interfacce ACM.

Le raccolte di interfacce devono essere conformi ai requisiti speciali del descrittore e degli endpoint specificati nella sezione 6.2 della specifica WMCDC. Se la raccolta di interfacce non è conforme ai requisiti WMCDC, ma l'interfaccia è conforme ai requisiti CDC, il driver padre generico USB enumera la raccolta di interfacce e gli ID hardware generici con i formati CDC.

Gli ID compatibili di questo modello di controllo hanno una corrispondenza in un file INF fornito da Microsoft. Se il sistema operativo non trova una corrispondenza per uno degli ID hardware in un file INF fornito dal fornitore, il sistema carica automaticamente il driver del filtro modem TAPI (Native Telephony Application Programming Interface) per gestire la funzione modem e imposta le impostazioni appropriate del Registro di sistema TAPI, a meno che il codice del protocollo non sia 0xFE. Se il codice del protocollo è 0xFE, il fornitore deve fornire un programma di installazione condivisa del dispositivo o della classe per popolare correttamente le impostazioni del Registro di sistema TAPI.

Modello di gestione dei dispositivi WMCDC

Le raccolte di interfacce DMM (Device Management Model) WMCDC USB hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Specifica della sottoclasse UNIVERSAL Serial Bus CDC per dispositivi di comunicazione mobile wireless, versione 1.0, sezione 6.6.
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02).
Sottoclasse dell'interfaccia master DMM (0x09).
Protocollo Qualsiasi.
Enumerated Sì.
Interfacce correlate Nessuno.
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_09&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_09
USB\Vid_%04x&Pid_%04x&Cdc_09&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_09
ID compatibili USB\Class_02&SubClass_09&Prot_%02X
USB\Class_02&SubClass_09
USB\Class_02
Gestione speciale Questo modello di controllo non usa un descrittore funzionale unione (UFD).

Modello direct line per dispositivi mobili WMCDC

Le raccolte di interfacce MDLM (Mobile Direct Line Model) USB WMCDC hanno le proprietà seguenti:

Proprietà Descrizione
Riferimento Specifica della sottoclasse CDC del bus seriale universale per i dispositivi di comunicazione mobile wireless, versione 1.0, sezione 6.7
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02)
Sottoclasse dell'interfaccia master MDLM (0x0A)
Protocollo Any
Enumerated
Interfacce correlate Una o più interfacce della classe di dati a cui fa riferimento il descrittore funzionale dell'unione (UFD)
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_0A&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_0A
USB\Vid_%04x&Pid_%04x&Cdc_0A&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_0A
ID compatibili USB\Class_02&SubClass_0A&Prot_%02X
USB\Class_02&SubClass_0A
USB\Class_02
Gestione speciale Nessuno.

Modello di controllo OBEX WMCDC (più PDO)

Esistono due modi per enumerare raccolte di interfacce OBEX (Object Exchange Protocol) Control Model: il driver padre generico USB può raggruppare tutte le interfacce OBEX e creare un singolo oggetto dispositivo fisico (PDO) per tutte le interfacce OBEX oppure il driver padre può creare un PDO separato per ogni interfaccia OBEX.

Quando il driver padre generico USB assegna PDO separati a ogni interfaccia OBEX, i PDO hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Specifica della sottoclasse UNIVERSAL Serial Bus CDC per i dispositivi di comunicazione mobile wireless, versione 1.0, sezione 6.5.
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02).
Sottoclasse dell'interfaccia master OBEX (0x0B).
Protocollo Nessuno (0x00).
Enumerated Sì.
Interfacce correlate Un'interfaccia della classe di dati a cui fa riferimento il descrittore funzionale dell'unione (UFD).
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_0B&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_0B
USB\Vid_%04x&Pid_%04x&Cdc_0B&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_0B
ID compatibili USB\Class_02&SubClass_0B&Prot_00
USB\Class_02&SubClass_0B
USB\Class_02
Gestione speciale Le impostazioni del Registro di sistema associate all'istanza del driver padre generico USB che gestisce il dispositivo composito determinano se le interfacce OBEX vengono gestite con un singolo PDO o più PDO.

Modello di controllo OBEX WMCDC (pdo singolo)

Esistono due modi per enumerare le raccolte di interfacce del modello di controllo OBEX (Object Exchange Protocol): il driver padre generico USB può raggruppare tutte le interfacce OBEX e creare un singolo oggetto dispositivo fisico (PDO) per tutte le interfacce OBEX oppure il driver padre può creare un PDO separato per ogni interfaccia OBEX.

Quando il driver padre generico USB assegna un singolo PDO a tutte le interfacce OBEX, il PDO ha le proprietà seguenti.

Proprietà Descrizione
Riferimento Specifica della sottoclasse UNIVERSAL Serial Bus CDC per i dispositivi di comunicazione mobile wireless, versione 1.0, sezione 6.5.
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02).
Sottoclasse dell'interfaccia master OBEX (0x0B).
Protocollo Nessuno (0x00).
Enumerated Sì.
Interfacce correlate Un'interfaccia della classe di dati a cui fa riferimento il descrittore funzionale dell'unione (UFD).
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&WPD_OBEX&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&WPD_OBEX
USB\Vid_%04x&Pid_%04x&WPD_OBEX&MI_%02x
USB\Vid_%04x&Pid_%04x&WPD_OBEX
ID compatibili USB\Class_02&WPD_OBEX
USB\Class_02
Gestione speciale Le impostazioni del Registro di sistema associate all'istanza del driver padre generico USB che gestisce il dispositivo composito determinano se le interfacce OBEX vengono gestite con un singolo PDO o più PDO. Per una spiegazione delle impostazioni del Registro di sistema che specificano come il driver padre generico USB enumera le interfacce OBEX, vedi Enumerazione delle raccolte di interfacce nei dispositivi compositi USB.

Modello di controllo del set di dispositivi wireless WMCDC

Il driver padre generico USB non enumera sempre le raccolte di interfacce WHCM (Wireless HandSet Control Model). Le impostazioni del Registro di sistema associate all'istanza del driver padre generico USB che gestisce la raccolta di interfacce WHCM determinano se il driver padre generico USB crea o meno un oggetto dispositivo fisico (PDO) per la raccolta di interfacce. Per una spiegazione delle impostazioni del Registro di sistema che specificano il modo in cui il driver padre generico USB enumera le interfacce WHCM, vedere Enumerazione delle raccolte di interfacce nei dispositivi compositi USB.

Le raccolte di interfacce WHCM enumerate hanno le proprietà seguenti.

Proprietà Descrizione
Riferimento Specifica della sottoclasse CDC del bus seriale universale per i dispositivi di comunicazione mobile wireless, versione 1.0, sezione 6.1.
Classe dell'interfaccia master Classe di interfaccia di comunicazione (0x02).
Sottoclasse dell'interfaccia master WHCM (0x08).
Protocollo Nessuno (0x00).
Enumerated Sì.
Interfacce correlate Nessuno.
ID hardware USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_08&MI_%02x
USB\Vid_%04x&Pid_%04x&Rev_%04x&Cdc_08
USB\Vid_%04x&Pid_%04x&Cdc_08&MI_%02x
USB\Vid_%04x&Pid_%04x&Cdc_08
ID compatibili USB\Class_02&SubClass_08&Prot_00
USB\Class_02&SubClass_08
USB\Class_02
Gestione speciale Il descrittore funzionale unione (UFD) identifica le interfacce associate a un handset logico.

I formati di ID hardware negli argomenti precedenti descrivono l'uso delle convenzioni seguenti:

  • un formato printf in linguaggio C rappresenta numeri interi. Ad esempio, "%04x" indica un intero esadecimale a 4 cifre, "%02x" indica un intero esadecimale a 2 cifre e così via.
  • L'intero che segue la stringa "Vid_" è una rappresentazione esadecimale a 4 cifre del codice fornitore assegnato dal comitato USB (<www.usb.org>) al fornitore.
  • L'intero che segue la stringa "Pid_" è una rappresentazione esadecimale a 4 cifre del codice prodotto assegnato dal fornitore al dispositivo.
  • L'intero che segue la stringa "Rev_" è una rappresentazione esadecimale a 4 cifre del numero di revisione del dispositivo.
  • L'intero che segue la stringa "Cdc_" è la sottoclasse di interfaccia.
  • L'intero che segue la stringa "Prot_" è il numero di protocollo.
  • L'intero che segue la stringa "MI_" è una rappresentazione esadecimale a 2 cifre del numero di interfaccia, estratto dal campo bInterfaceNumber del descrittore di interfaccia.

Enumerazione delle raccolte di interfacce nei dispositivi USB con ID

Se un dispositivo composito USB ha un descrittore di associazione dell'interfaccia (IAD) nel firmware, Windows enumera le raccolte di interfacce come se ogni raccolta fosse un singolo dispositivo e assegnò un singolo oggetto dispositivo fisico (PDO) a ogni raccolta di interfacce e associa gli identificatori hardware e compatibili (ID) al PDO. Per una descrizione dettagliata degli ID, vedere Descrittore di associazione dell'interfaccia USB. Questa sezione descrive gli ID hardware e gli ID compatibili assegnati alle raccolte di interfacce associate a un IAD.

ID hardware di dispositivi USB con ID ID

USB\VID_v(4)&PID_p(4)&Rev_r(4)&MI_z(2)

USB\VID_v(4)&PID_p(4)&MI_z(2)

In questi ID hardware,

  • v(4) è il codice fornitore a quattro cifre assegnato dal comitato USB al fornitore e estratto dal campo idVendor del descrittore del dispositivo.
  • p(4) è il codice prodotto a quattro cifre assegnato dal fornitore al dispositivo e estratto dal campo idProduct del descrittore del dispositivo.
  • r(4) è il numero di versione del dispositivo a quattro cifre, in revisione decimale codificata binaria, assegnato dal fornitore al dispositivo e estratto dal campo bcdDevice del descrittore del dispositivo.
  • z(2) è il numero di interfaccia a due cifre estratto dal campo bFirstInterface di IAD.

ID compatibili di dispositivi USB con ID ID

USB\Class_c(2)&SubClass_s(2)&Prot_p(2)

USB\Class_c(2)&SubClass_s(2)

USB\Class_c(2)

In questi ID compatibili, c(2), s(2) e p(2) contengono rispettivamente valori acquisiti rispettivamente dai campi bFunctionClass, bFunctionSubClass e bFunctionProtocol dell'IAD.

Non è possibile usare gli ID in modo ricorsivo per associare funzioni di funzioni. In particolare, se un dispositivo dispone di descrittori IAD nel firmware, il driver padre generico non raggruppa le interfacce per classe di dispositivi audio, come descritto in Enumerazione delle raccolte di interfacce nei dispositivi compositi USB.

Enumerazione delle raccolte di interfacce nei dispositivi audio senza ID

Per i dispositivi audio, il sistema operativo Windows può enumerare gruppi di interfacce (raccolte di interfacce) associati a una funzione e assegnare un singolo oggetto dispositivo fisico (PDO) a ogni gruppo, anche quando il dispositivo non dispone di un descrittore di associazione di interfaccia (IAD).

Il sistema operativo raggruppa le interfacce dei dispositivi audio compositi in raccolte di interfacce, se le interfacce soddisfano le condizioni seguenti:

  • Tutte le interfacce nella raccolta di interfacce devono essere consecutive. In altre parole, le interfacce devono essere adiacenti tra loro nella memoria del firmware.
  • Tutte le interfacce nella raccolta di interfacce devono appartenere alla classe del dispositivo audio. Il produttore del dispositivo specifica che un'interfaccia appartiene alla classe del dispositivo audio assegnando un valore di 0x01 al campo bInterfaceClass del descrittore di interfaccia.
  • Ogni interfaccia nella raccolta di interfacce deve avere una sottoclasse diversa dalla prima interfaccia della raccolta. Il campo bInterfaceSubClass del descrittore di interfaccia specifica la sottoclasse del dispositivo dell'interfaccia.

Se un'interfaccia non soddisfa tutte queste tre condizioni, Windows tenterà di enumerarla separatamente anziché raggrupparla con le altre interfacce della classe audio.

Il sistema operativo non raggruppa le interfacce della classe audio in modo speciale se un descrittore di associazione di interfaccia (IAD) è presente nel firmware del dispositivo. Il metodo IAD è sempre il metodo preferito per raggruppare le interfacce USB.

Questa sezione descrive gli identificatori hardware e compatibili associati al PDO creato dal sistema operativo per una raccolta di interfacce le cui interfacce appartengono alla classe del dispositivo audio.

ID hardware di dispositivi audio senza ID ID

USB\VID_v(4)&PID_p(4)&Rev_r(4)&MI_z(2)

USB\VID_v(4)&PID_p(4)&MI_z(2)

In questi ID hardware,

  • v(4) è il codice fornitore a quattro cifre assegnato dal comitato standard USB al fornitore e estratto dal campo idVendor del descrittore del dispositivo.
  • p(4) è il codice prodotto a quattro cifre assegnato dal fornitore al dispositivo e estratto dal campo idProduct del descrittore del dispositivo.
  • r(4) è il numero di versione del dispositivo a quattro cifre, in revisione decimale codificata binaria, assegnato dal fornitore al dispositivo e estratto dal campo bcdDevice del descrittore del dispositivo.
  • z(2) è il numero di interfaccia a due cifre estratto dal campo bInterfaceNumber del descrittore di interfaccia.

ID compatibili di dispositivi audio senza ID

USB\Class_c(2)&SubClass_s(2)&Prot_p(2)

USB\Class_c(2)&SubClass_s(2)

USB\Class_c(2)

In questi ID compatibili, c(2), s(2) e p(2) contengono rispettivamente valori acquisiti rispettivamente dai campi bInterfaceClass, bInterfaceSubClass e bInterfaceProtocol del primo descrittore di interfaccia USB in ogni raccolta di interfacce.