Compartilhar via


Método Device-Specific USB (_DSM)

Para dar suporte à configuração específica da classe de dispositivo do subsistema USB, o Windows define um método de Device-Specific (_DSM) que tem as funções descritas neste artigo.

Função 1: processamento pós-redefinição para controladores de função dupla

Os parâmetros do método de controle _DSM para a função de processamento pós-redefinição para controladores USB de função dupla são os seguintes:

Argumentos (Função 1)

  • Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
  • Arg1: ID de revisão = 0
  • Arg2: Índice de função = 1
  • Arg3: Pacote vazio (não usado)

Return (Função 1)

Nenhum

Os drivers de caixa de entrada do Windows só dão suporte a controladores USB no modo de host. Após cada redefinição do controlador, o driver USB invocará o índice de função _DSM 1 para executar qualquer inicialização específica do controlador necessária para configurar o controlador USB para operar no modo de host.

Quando essa função é usada, o método _DSM deve aparecer no dispositivo do controlador USB.

Função 2: Identificação de tipo de porta

Os parâmetros do método de controle _DSM para identificar o tipo de porta USB são os seguintes:

Argumentos (Função 2)

  • Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
  • Arg1: ID de revisão = 0
  • Arg2: Índice de função = 2
  • Arg3: Pacote vazio (não usado)

Return (Função 2)

Um número inteiro contendo um dos seguintes valores:

Elemento Tipo de Objeto Descrição
Tipo de porta Inteiro (BYTE) Especifica o tipo da porta USB:

0x00 – USB regular

0x01 – HSIC

0x02 – SSIC

0x03 – 0xff reservado

Quando essa função é usada, o método _DSM deve aparecer no dispositivo de porta USB.

Função 5: Desabilitar transições U1 e U2 para uma porta

Quando esse método _DSM retorna 0x01 o driver de barramento USB desabilita as transições U1 e U2 para a porta. Se ele retornar 0x00 o driver de barramento USB retornará à heurística padrão para transições U1 e U2 descritas nas transições U1 e U2.

O método _DSM deve aparecer em uma porta USB3. Ele está disponível a partir do Windows 10, versão 2004 (Vibranium).

Os parâmetros do método de controle _DSM são os seguintes:

Argumentos (Função 5)

  • Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
  • Arg1: ID de revisão = 0
  • Arg2: Índice de função = 5
  • Arg3: Pacote vazio (não usado)

Return (Função 5)

Um número inteiro contendo um dos seguintes valores:

Elemento Tipo de Objeto Descrição
Desabilitar U1 e U2? Inteiro (BYTE) Especifica o comportamento U1 e U2:

0x00 – o motorista do ônibus USB retornará à heurística padrão para U1 e U2.

0x01 – as transições U1 e U2 serão desabilitadas.

0x02 – 0xff reservado

Função 6: Tipo de acesso de registro do controlador de consulta

Essa função está disponível a partir do Windows Server 2022 e Windows 11.

Os parâmetros do método de controle _DSM para consultar o tipo de acesso de registro para comunicação com controladores USB são os seguintes:

Argumentos (Função 6)

  • Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
  • Arg1: ID de revisão = 0
  • Arg2: Índice de função = 6
  • Arg3: Pacote vazio (não usado)

Return (Função 6)

Um Inteiro que contém um dos seguintes valores:

Elemento Tipo de Objeto Descrição
RegisterAccessType longo sem sinal de 4 bytes (32 bits) Especifica o tipo de acesso de registro do controlador USB:

0x00 – Acesso de registro indefinido

0x01 – Deve usar o acesso de registro de 32 bits

0x02 – 0xffffffff reservado

Quando essa função é usada, o método _DSM deve aparecer no dispositivo do controlador USB.

O índice de função 0 de cada _DSM é uma função de consulta que retorna o conjunto de índices de função com suporte e é sempre necessário. Para obter mais informações, consulte a seção 9.14.1, "_DSM (Método Específico do Dispositivo)", na especificação ACPI 5.0.