Partilhar via


Detalhes da solução de transformação de identidade do MB

Requisitos de configuração

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

Windows-7-Configuration

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

Windows-8-Configuration

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

IHV-NCM-2.0-Configuration

A IHV-NCM-2.0-Configuration expõe funções específicas de IHV, juntamente com funções de armazenamento em massa e MBIM. Essa configuração não é definida ou usada pelo Windows. O software IHV, após a instalação pelo usuário, pode mudar para essa configuração. Observe que a ordem das funções nessa configuração deve ser a mesma que no Windows-8-Configuration. Embora funções extras possam ser adicionadas ao Windows-8-Configuration, as funções existentes devem ser mantidas na mesma ordem.

IHV-NCM-1.0-Configuration

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

IDs compatíveis

As 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 so da Microsoft. IDs compatíveis e subcompatíveis se aplicam a funções individuais. Cada configuração pode ter um conjunto separado de IDs compatíveis, que são mapeadas para o conjunto de funções dentro dessa configuração. Embora as IDs compatíveis e subcompatíveis se apliquem a funções individuais, o dispositivo de transformação pode ter uma única ID compatível quando nenhuma configuração é selecionada. Essa ID compatível e subcompatível se aplica logicamente a todo o dispositivo de transformação.

Carregando USBCCGP

Em Windows 8, um driver USBCCGP é necessário para selecionar automaticamente o Windows-8-Configuration no dispositivo em 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 usar IADs para agrupar interfaces em funções, a ID compatível deverá ser relatada como "ALTRCFG" e a ID subcompatível como o número do Windows-8-Configuration.
  • Se o dispositivo de transformação usar UFDs do WCM para agrupar interfaces em funções, a ID compatível deverá ser relatada como "WMCALTR" e a ID subcompatível como o número do Windows-8-Configuration.

Por exemplo, se o Windows-8-Configuration for Configuração 3, a ID subcompatível será "3" em ambos os casos.

Transformar IDs compatíveis

Durante a enumeração de dispositivo USB, o USBHUB consulta o dispositivo de transformação para a ID compatível quando nenhuma configuração é selecionada no dispositivo de transformação. O dispositivo de transformação deve retornar a ID compatível e subcompatível usada para carregar USBCCGP, conforme descrito em Visão geral da Solução de Transformação de Identidade do MB.

Depois que o USBHUB carrega o USBCCGP, o USBCCGP seleciona a configuração indicada pela ID subcompatível relatada anteriormente. O USBCCGP consulta a 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 as IDs compatíveis e subcompatíveis relatadas. 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 sistema operacional microsoft do dispositivo durante a enumeração.

USBHUB consultando o descritor do sistema operacional microsoft do dispositivo durante a enumeração.

device retorna compatid no estado não configurado.

O dispositivo retorna CompatId no estado não configurado. Essa CompatId é usada para carregar USBCCGP.

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

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

O dispositivo transforma seu descritor do sistema operacional microsoft com base na nova configuração. consultas usbccgp para o descritor do sistema operacional microsoft.

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

O dispositivo não retorna nenhuma compatibilidade. com base na classe / subclasse / protocolo, usbccgp carrega usbstor e mbcd.

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