MB Identity Morphing Solution Details
Requisiti di configurazione
L'ordine delle funzioni tra le transizioni in Windows 8 deve essere mantenuto. Ad esempio, se MBIM è la terza funzione in Windows-8-Configuration, deve essere anche la terza funzione in IHV-NCM-2.0-Configuration.
Windows-7-Configuration
Windows-7-Configuration deve essere la prima configurazione nel dispositivo di morphing. Questa configurazione deve avere la funzione di archiviazione di massa come una delle funzioni. Windows 8 non selezionerà questa configurazione. In Windows 7 e versioni precedenti di Windows, Windows-7-Configuration è la configurazione predefinita selezionata. Questa configurazione viene usata per esporre una funzione di archiviazione di massa USB in cui IHD inseriscono il pacchetto driver, che consente agli utenti di installare il driver IHV.
Windows-8-Configuration
Windows-7-Configuration espone la funzione MBIM come una delle funzioni in cui viene caricato MBCD. In Windows 8, il valore di questa configurazione viene usato nel valore subCompatibleID restituito a USBCCGP. USBCCGP seleziona questa configurazione quando viene caricata. Windows-8-Configuration deve essere Configuration 2, 3 o 4. Nessun'altra configurazione è supportata come Windows-8-Configuration. Questa configurazione espone anche la funzione di archiviazione di massa come prima funzione per consentire a un utente di installare il pacchetto driver IHV.
IHV-NCM-2.0-Configuration
IHV-NCM-2.0-Configuration espone funzioni specifiche di IHV insieme alle funzioni di archiviazione di massa e MBIM. Questa configurazione non è impostata o usata da Windows. Il software IHV, dopo l'installazione da parte dell'utente, può modificare questa configurazione. Si noti che l'ordine delle funzioni in questa configurazione deve essere identico a quello di Windows-8-Configuration. Anche se è possibile aggiungere funzioni aggiuntive a Windows-8-Configuration, le funzioni esistenti devono essere mantenute nello stesso ordine.
IHV-NCM-1.0-Configuration
IHV-NCM-1.0-Configuration espone funzioni specifiche di IHV insieme alle funzioni di archiviazione di massa e NCM 1.0. Questa configurazione non è impostata o usata da Windows 8. Questa configurazione viene usata solo in Windows 7 e nelle versioni precedenti di Windows dopo l'installazione del software IHV da parte dell'utente. Il software IHV trasforma il dispositivo di morphing da Windows-7-Configuration a questa configurazione.
ID compatibili
Gli ID compatibili sono stringhe di 8 caratteri o più piccole usate dal dispositivo per indicare la preferenza di caricamento del driver in Windows. I dispositivi possono definire ID compatibili usando i descrittori del sistema operativo Microsoft. Gli ID compatibili e sottocompatibili si applicano a singole funzioni. Ogni configurazione può avere un set separato di ID compatibili, che eseguono il mapping al set di funzioni all'interno di tale configurazione. Anche se gli ID compatibili e sottocompatibili si applicano a singole funzioni, il dispositivo di morphing può avere un singolo ID compatibile quando non è selezionata alcuna configurazione. Questo ID compatibile e subcompatibile si applica logicamente all'intero dispositivo di morphing.
Caricamento di USBCCGP
In Windows 8 è necessario un driver USBCCGP per selezionare automaticamente Windows-8-Configuration nel dispositivo di modifica.
Per caricare il driver USBCCGP, il dispositivo di morphing deve segnalare gli ID compatibili e sottocompatibili seguenti quando non è selezionata alcuna configurazione nel dispositivo di morphing:
- Se il dispositivo di morphing usa GLI ID per il raggruppamento delle interfacce in funzioni, l'ID compatibile deve essere segnalato come "ALTRCFG" e l'ID sottocompatibile come numero di Windows-8-Configuration.
- Se il dispositivo di morphing usa gli UFD WCM per raggruppare le interfacce in funzioni, l'ID compatibile deve essere segnalato come "WMCALTR" e l'ID sottocompatibile come numero di Windows-8-Configuration.
Ad esempio, se Windows-8-Configuration è Configuration 3, l'ID sottocompatibile sarà "3" in entrambi questi casi.
ID compatibili con morphing
Durante l'enumerazione del dispositivo USB, USBHUB esegue una query sul dispositivo di morphing per l'ID compatibile quando non è selezionata alcuna configurazione nel dispositivo di morphing. Il dispositivo di morphing deve restituire l'ID compatibile e sottocompatibile usato per caricare USBCCGP, come descritto in Mb Identity Morphing Solution Overview (Panoramica della soluzione di morphing identità MB).
Dopo che USBHUB carica USBCCGP, USBCCGP seleziona la configurazione indicata dall'ID sottocompatibile segnalato in precedenza. USBCCGP esegue quindi una query sull'ID compatibile e sottocompatibile una seconda volta. A questo punto, il dispositivo di morphing deve restituire gli ID compatibili e sottocompatibili per la configurazione attualmente selezionata. Pertanto, dopo il caricamento di USBCCGP e la selezione di una particolare configurazione, il dispositivo di morphing deve modificare gli ID compatibili e sottocompatibili segnalati. Il dispositivo di morphing non deve segnalare gli ID compatibili e sottocompatibili usati per caricare USBCCGP dopo aver selezionato una configurazione.
USBHUB che esegue una query sul descrittore del sistema operativo Microsoft dal dispositivo durante l'enumerazione.
Il dispositivo restituisce CompatId nello stato non configurato. Questo CompatId viene usato per caricare USBCCGP.
USBCCGP seleziona la configurazione segnalata nell'ID sottocompatibile.
Il dispositivo modifica il descrittore del sistema operativo Microsoft in base alla nuova configurazione. Query USBCCGP per il descrittore del sistema operativo Microsoft.
Il dispositivo non restituisce alcun CompatID. In base alla classe/sottoclasse/protocollo, USBCCGP carica USBSTOR e MBCD.