Partilhar via


Detalhes da solução MB Identity Morphing

Requisitos de configuração

A ordem das funções entre transições no Windows 8 precisa ser mantida. Por exemplo, se MBIM é a terceira função no Windows-8-Configuration, também deve ser a terceira função no IHV-NCM-2.0-Configuration.

Windows-7-Configuração

A configuração do Windows-7 deve ser a primeira configuração no dispositivo de transformação. Esta configuração deve ter a função de armazenamento em massa como uma das funções. O Windows 8 não selecionará essa configuração. No Windows 7 e versões anteriores do Windows, a Configuração do Windows-7 é a configuração padrão selecionada. Essa configuração é usada para expor uma função de armazenamento em massa USB onde os IHVs colocam seu pacote de driver, o que permite que os usuários instalem o driver do IHV.

Configuração do Windows-8

A Configuração do Windows 7 expõe a função MBIM como uma das funções em que o MBCD está carregado. No Windows 8, o valor dessa configuração é usado no valor subCompatibleID retornado para USBCCGP. O USBCCGP seleciona essa configuração quando ela é carregada. A Configuração do Windows-8 deve ser a Configuração 2, 3 ou 4. Nenhuma outra configuração é suportada como o Windows-8-Configuration. Essa configuração também expõe a função de armazenamento em massa como a primeira função a permitir que um usuário instale o pacote de driver do IHV.

IHV-NCM-2.0-Configuração

O IHV-NCM-2.0-Configuration expõe funções específicas do IHV, juntamente com o MBIM e funções de armazenamento em massa. Esta configuração não é definida nem utilizada pelo Windows. O software IHV, após a instalação pelo utilizador, pode transformar-se nesta configuração. Observe que a ordem das funções nesta configuração deve ser a mesma que no Windows-8-Configuration. Embora funções extras possam ser adicionadas à Configuração do Windows-8, as funções existentes devem ser mantidas na mesma ordem.

IHV-NCM-1.0-Configuração

A configuração IHV-NCM-1.0 expõe funções específicas do IHV, juntamente com o NCM 1.0 e funções de armazenamento em massa. Esta configuração não é definida ou utilizada pelo Windows 8. Essa configuração é usada somente no Windows 7 e em versões anteriores do Windows depois que o software IHV é instalado pelo usuário. O software IHV transforma o dispositivo de transformação do Windows-7-Configuration para esta configuração.

IDs compatíveis

IDs compatíveis são cadeias de caracteres de 8 caracteres ou menores usadas pelo dispositivo para indicar a preferência de carregamento do driver para o Windows. Os dispositivos podem definir IDs compatíveis usando descritores do sistema operacional Microsoft. IDs compatíveis e subcompatíveis aplicam-se a funções individuais. Cada configuração pode ter um conjunto separado de IDs compatíveis, que correspondem ao conjunto de funções dentro dessa configuração. Embora IDs compatíveis e subcompatíveis se apliquem a funções individuais, o dispositivo de transformação pode ter um único ID compatível quando nenhuma configuração é selecionada. Este ID compatível e subcompatível aplica-se logicamente a todo o dispositivo de transformação.

Carregando USBCCGP

No Windows 8, um driver USBCCGP é necessário para selecionar automaticamente a configuração do Windows-8 no dispositivo de transformação.

Para carregar o driver USBCCGP, o dispositivo de transformação precisa relatar as seguintes IDs compatíveis e subcompatíveis quando nenhuma configuração é selecionada no dispositivo de transformação:

  • Se o dispositivo de transformação usa IADs para agrupar interfaces em funções, a ID compatível deve ser relatada como "ALTRCFG" e a ID subcompatível como o número da Configuração do Windows-8.
  • Se o dispositivo de transformação usa UFDs WCM para agrupar interfaces em funções, a ID compatível deve ser relatada como "WMCALTR" e a ID subcompatível como o número da Configuração do Windows-8.

Por exemplo, se a Configuração do Windows-8 for Configuração 3, o ID de subcompatibilidade será "3" em ambos os casos.

IDs compatíveis com Morphing

Durante a enumeração do dispositivo USB, o USBHUB consulta o dispositivo de transformação para obter a ID compatível quando nenhuma configuração é selecionada no dispositivo de transformação. O dispositivo de transformação deve retornar o ID compatível e subcompatível usado para carregar USBCCGP, conforme descrito em MB Identity Morphing Solution Overview.

Depois que o USBHUB carrega o USBCCGP, o USBCCGP seleciona a configuração indicada pelo ID subcompatível relatado anteriormente. Em seguida, o USBCCGP consulta o ID compatível e subcompatível uma segunda vez. Neste ponto, o dispositivo de transformação deve retornar as IDs compatíveis e subcompatíveis para a configuração selecionada no momento. Portanto, depois que o USBCCGP carrega e seleciona uma configuração específica, o dispositivo de transformação precisa transformar os IDs compatíveis e subcompatíveis que são relatados. O dispositivo de transformação não deve relatar as IDs compatíveis e subcompatíveis que são usadas para carregar USBCCGP depois que uma configuração é selecionada.

usbHub consultando o descritor do Microsoft OS do dispositivo durante a enumeração.

USBHUB interrogando o descritor do Microsoft OS do dispositivo durante a enumeração.

dispositivo retorna compatid no estado não configurado.

O dispositivo retorna CompatId no estado não configurado. Este CompatId é usado para carregar USBCCGP.

USBCCGP seleciona a configuração relatada na ID subcompatível.

USBCCGP seleciona a configuração relatada no ID subcompatível.

dispositivo altera o seu descritor do Microsoft OS com base na nova configuração. A USBCCGP consulta o descritor do Microsoft OS.

O dispositivo transforma seu descritor do sistema operacional Microsoft com base na nova configuração. O USBCCGP consulta o descritor do Microsoft OS.

dispositivo não retorna nenhuma ID de compatibilidade. Com base na classe / subclasse / protocolo, USBCCGP carrega USBSTOR e MBCD.

O dispositivo não retorna nenhum CompatID. Com base na Classe / Subclasse / Protocolo, USBCCGP carrega USBSTOR e MBCD.