Condividi tramite


Metodo Device-Specific USB (_DSM)

Per supportare la configurazione specifica della classe del dispositivo del sottosistema USB, Windows definisce un metodo Device-Specific (_DSM) con le funzioni descritte in questo articolo.

Funzione 1: Elaborazione post-reimpostazione per i controller a doppio ruolo

I parametri del metodo di controllo _DSM per la funzione di elaborazione post-reimpostazione per i controller USB a doppio ruolo sono i seguenti:

Argomenti (funzione 1)

  • Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c48999
  • Arg1: ID revisione = 0
  • Arg2: Indice della funzione = 1
  • Arg3: Pacchetto vuoto (non usato)

Return (Funzione 1)

Nessuno

I driver posta in arrivo di Windows supportano solo i controller USB in modalità host. Dopo ogni reimpostazione del controller, il driver USB richiamerà l'indice della funzione _DSM 1 per eseguire qualsiasi inizializzazione specifica del controller necessaria per configurare il controller USB in modo che funzioni in modalità host.

Quando questa funzione viene usata, il metodo _DSM deve essere visualizzato sotto il dispositivo controller USB.

Funzione 2: Identificazione del tipo di porta

I parametri del metodo di controllo _DSM per identificare il tipo di porta USB sono i seguenti:

Argomenti (funzione 2)

  • Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c48999
  • Arg1: ID revisione = 0
  • Arg2: Indice della funzione = 2
  • Arg3: Pacchetto vuoto (non usato)

Return (Funzione 2)

Intero contenente uno dei valori seguenti:

Elemento Tipo di oggetto Descrizione
Tipo porta Intero (BYTE) Specifica il tipo di porta USB:

0x00 - USB normale

0x01 - HSIC

0x02 - SSIC

0x03 : 0xff riservata

Quando questa funzione viene usata, il metodo _DSM deve essere visualizzato sotto il dispositivo porta USB.

Funzione 5: Disabilitare le transizioni U1 e U2 per una porta

Quando questo metodo _DSM restituisce 0x01 il driver del bus USB disabilita le transizioni U1 e U2 per la porta. Se restituisce 0x00 il driver del bus USB torna all'euristica predefinita per le transizioni U1 e U2 descritte nelle transizioni U1 e U2.

Il metodo _DSM deve essere visualizzato sotto una porta USB3. È disponibile a partire da Windows 10 versione 2004 (Vibranium).

I parametri del metodo di controllo _DSM sono i seguenti:

Argomenti (funzione 5)

  • Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c48999
  • Arg1: ID revisione = 0
  • Arg2: Indice della funzione = 5
  • Arg3: Pacchetto vuoto (non usato)

Return (Funzione 5)

Intero contenente uno dei valori seguenti:

Elemento Tipo di oggetto Descrizione
Disabilitare U1 e U2? Intero (BYTE) Specifica il comportamento U1 e U2:

0x00: il driver del bus USB eseguirà il fallback all'euristica predefinita per U1 e U2.

0x01 : le transizioni U1 e U2 verranno disabilitate.

0x02 : 0xff riservata

Funzione 6: Registrare il tipo di accesso del controller di query

Questa funzione è disponibile a partire da Windows Server 2022 e Windows 11.

I parametri del metodo di controllo _DSM per l'esecuzione di query sul tipo di accesso del registro per la comunicazione con i controller USB sono i seguenti:

Argomenti (funzione 6)

  • Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c48999
  • Arg1: ID revisione = 0
  • Arg2: Indice della funzione = 6
  • Arg3: Pacchetto vuoto (non usato)

Return (Funzione 6)

Valore Integer contenente uno dei valori seguenti:

Elemento Tipo di oggetto Descrizione
RegisterAccessType Lunghezza senza segno a 4 byte (32 bit) senza segno Specifica il tipo di accesso al registro del controller USB:

0x00 : accesso non definito alla registrazione

0x01: deve usare l'accesso di registrazione a 32 bit

0x02: 0xffffffff riservata

Quando questa funzione viene usata, il metodo _DSM deve essere visualizzato sotto il dispositivo controller USB.

L'indice di funzione 0 di ogni _DSM è una funzione di query che restituisce il set di indici di funzione supportati ed è sempre obbligatoria. Per altre informazioni, vedere la sezione 9.14.1, "_DSM (metodo specifico del dispositivo)", nella specifica ACPI 5.0.