Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A Microsoft fornece um conjunto de classes de dispositivos proprietários e descritores USB, que são chamados de Microsoft OS Descriptors (MODs).
Devido ao rápido surgimento de dispositivos que contêm várias funções de hardware, muitos fabricantes acham que seus dispositivos não se encaixam confortavelmente em nenhuma das classes de dispositivos USB (barramento serial universal) atuais. Isso priva tais fabricantes de uma das características mais atraentes da tecnologia USB: a padronização do software do driver (de acordo com a classe do dispositivo). O Windows fornece drivers de classe nativos para a maioria dos dispositivos que pertencem a classes de dispositivo USB padrão, e esses drivers permitem que os usuários finais conectem facilmente esses dispositivos ao computador sem a necessidade de instalar software especial.
Para acomodar os fabricantes cujos dispositivos não se encaixam no conjunto atual de classes de dispositivos USB, a Microsoft desenvolveu um conjunto de classes de dispositivos proprietários e descritores USB, que são chamados de Microsoft OS Descriptors (MODs). Tanto os aplicativos quanto o software do sistema podem identificar os dispositivos que pertencem às classes de dispositivo definidas pela Microsoft consultando os dispositivos para determinar se eles suportam MODs.
Os descritores do sistema operacional Microsoft têm usos importantes além do suporte às classes de dispositivos proprietários. Em particular, eles fornecem um mecanismo para obter o máximo benefício do firmware do dispositivo. Com a ajuda dos Descritores do Microsoft OS, você pode usar o firmware para fornecer arquivos de ajuda, ícones especiais, URLs (Uniform Resource Locators), configurações do Registro e outros dados necessários para facilitar a instalação e aumentar a satisfação do cliente. Em alguns casos, você pode renunciar a mídias de armazenamento, como disquetes e CDs, o que simplifica a entrega e o suporte de atualizações.
Suporte de sistema operativo
Os descritores do Microsoft OS 1.0 são suportados em:
- Windows 11
- Windows 10
- Windows 8.1
- Windows 8
- Windows 7
- Windows Vista, Windows Server 2008
- Windows XP com Service Pack 1 (SP1), Windows Server 2003
Os descritores do Microsoft OS 2.0 são suportados em:
- Windows 11
- Windows 10
- Windows 8.1
Por que o Windows emite uma solicitação de descritor de cadeia de caracteres para indexar 0xEE?
Os dispositivos que suportam Descritores do SO Microsoft devem armazenar um descritor de cadeia USB especial no firmware no índice fixo de cadeia de caracteres 0xEE. Este descritor de cadeia de caracteres é chamado de Microsoft OS String Descriptor.
- Sua presença indica que o dispositivo contém um ou mais descritores de recursos do sistema operacional.
- Ele contém os dados necessários para recuperar os descritores de recursos do sistema operacional associados.
- Ele contém um campo de assinatura que diferencia o descritor de cadeia de caracteres do sistema operacional de outras cadeias de caracteres que os IHVs podem optar por armazenar no 0xEE.
- Ele contém um número de versão que permite futuras revisões dos descritores do sistema operacional Microsoft.
Se não houver nenhum descritor de cadeia de caracteres em 0xEE, ou se o descritor de cadeia de caracteres nesse índice não for um descritor de cadeia de caracteres do sistema operacional válido, o Windows assumirá que o dispositivo não contém nenhum descritor de recursos do sistema operacional.
Quando um novo dispositivo é conectado a um computador pela primeira vez, um sistema operacional que suporta Descritores do Microsoft OS solicita o descritor de cadeia de caracteres que está no índice 0xEE. O descritor de cadeia de caracteres do sistema operacional Microsoft contém um campo de assinatura incorporado que o sistema operacional usa para diferenciá-lo de outras cadeias de caracteres que podem estar no índice 0xEE. A presença de um descritor de cadeia de caracteres que contém o campo de assinatura adequado no índice 0xEE indica ao sistema operacional que o dispositivo suporta descritores do sistema operacional Microsoft. O Microsoft OS String Descriptor também fornece ao sistema operacional informações de versão.
O sistema operacional consulta o descritor de cadeia de caracteres no índice 0xEE durante a enumeração do dispositivo - antes que o driver do dispositivo seja carregado - o que pode causar mau funcionamento de alguns dispositivos. Esses dispositivos não são suportados por versões do sistema operacional Windows que suportam descritores do sistema operacional Microsoft.
Se um dispositivo não contiver um descritor de cadeia de caracteres válido no índice 0xEE, ele deverá responder com um pacote stall (em outras palavras, um pacote que contém um identificador de pacote do tipo STALL), que é descrito na seção "Erros de solicitação" da especificação Universal Serial Bus. Se o dispositivo não responder com um pacote de bloqueio, o sistema emitirá um pacote de redefinição zero de extremidade única para o dispositivo, para ajudá-lo a se recuperar de seu estado paralisado (somente Windows XP).
Depois que o sistema operacional solicita um descritor de cadeia de caracteres do sistema operacional Microsoft de um dispositivo, ele cria a seguinte chave do Registro:
HLKM\SYSTEM\CurrentControlSet\Control\UsbFlags\vvvvpppprrrrr
O sistema operacional cria uma entrada do Registro, chamada osvc, sob essa chave do Registro que indica se o dispositivo suporta Descritores do Microsoft OS. Se o dispositivo não fornecer uma resposta válida na primeira vez que o sistema operacional o consulta para um descritor de cadeia de caracteres do sistema operacional Microsoft, o sistema operacional não faz mais solicitações para esse descritor.
Para entradas do Registro sob essa chave, consulte Entradas do Registro de Dispositivo USB.
Para obter mais informações, consulte Especificação de descritores do Microsoft OS 1.0.
Que tipos de descritores de funcionalidades do SO são suportados pelo Windows?
Todas as informações a serem armazenadas como um descritor de recursos devem estar em conformidade com um dos formatos padrão definidos pela Microsoft. Outros descritores de recursos não podem ser definidos ou implementados sem o consentimento da Microsoft. A Microsoft definiu os seguintes descritores de recursos:
- ID de Compatibilidade Estendida. O Windows usa códigos de classe e subclasse para ajudar a localizar o driver padrão apropriado para um dispositivo USB. No entanto, o USB Device Working Group deve alocar esses códigos. Isso significa que os dispositivos que implementam novos tipos de recursos geralmente ainda não têm códigos de classe e subclasse apropriados, portanto, o Windows não pode usar os códigos para selecionar um driver padrão. IHVs podem contornar esse problema armazenando a informação no firmware como um descritor de recurso de ID compatível estendido do sistema operativo. O Windows pode recuperar essas informações quando o dispositivo estiver conectado e usá-las para ajudar a determinar qual driver padrão carregar.
- Propriedades estendidas. Atualmente, existem dois níveis nos quais as propriedades podem ser declaradas para um dispositivo USB: nível de classe ou nível de devnode. O descritor de recursos do sistema operacional de propriedades estendidas permite que um fornecedor armazene mais propriedades, como páginas de ajuda, URLs e ícones no firmware do dispositivo.