Compartilhar via


Detalhes da solução de metamorfose de identidade de MB

Requisitos de configuração

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

Configuração do Windows 7

O Windows-7-Configuration deve ser a primeira configuração no dispositivo de metamorfose. Essa 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, 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.

Configuração do Windows 8

O Windows-7-Configuration expõe a função MBIM como uma das funções em que o MBCD é carregado. No Windows 8, o valor dessa configuração é usado no valor subCompatibleID retornado ao 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 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 a permitir que um usuário instale o pacote de driver do IHV.

IHV-NCM-2.0-Configuration

O IHV-NCM-2.0-Configuration expõe funções específicas de IHV, juntamente com MBIM e funções de armazenamento em massa. Essa configuração não é definida ou usada pelo Windows. O software IHV, após a instalação do usuário, pode se transformar nessa 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 à Configuração do Windows-8, as funções existentes devem ser mantidas na mesma ordem.

IHV-NCM-1.0-Configuração

O IHV-NCM-1.0-Configuration expõe funções específicas de IHV, juntamente com NCM 1.0 e funções de armazenamento em massa. Essa configuração não é definida ou usada pelo 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 de metamorfose da configuração do Windows-7 para esta configuração.

IDs compatíveis

As IDs compatíveis são cadeias de caracteres de até 8 caracteres 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 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 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

No Windows 8, um driver USBCCGP é necessário para selecionar automaticamente a Configuração do Windows 8 no dispositivo mutável.

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 informada como "ALTRCFG" e a ID subcompatível como o número do Windows-8-Configuration.
  • Se o dispositivo de transformação usar WCM UFDs para agrupar interfaces em funções, a ID compatível deverá ser informada como "WMCALTR" e a ID subcompatível como o número do Windows-8-Configuration.

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

IDs compatíveis com metamorfose

Durante a enumeração do 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 o ID compatível e subcompatível usado para carregar USBCCGP, conforme descrito em Visão geral da solução de metamorfose de identidade de 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 que está 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 da microsoft do dispositivo durante a enumeração.

USBHUB consultando o descritor do sistema operacional da Microsoft 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.

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

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

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

o dispositivo não retorna nenhum compatível. com base na classe / subclasse / protocolo, o USBCCGP carrega o USBSTOR e o MBCD.

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