Dela via


Översikt över att välja en USB-konfiguration i USB-drivrutiner

Avsnitten i det här avsnittet beskriver hur en klientdrivrutin måste konfigurera sin enhet.

En USB-enhet exponerar sina funktioner i form av en serie gränssnitt som kallas USB-konfiguration. Varje gränssnitt består av en eller flera alternativa inställningar och varje alternativ inställning består av en uppsättning slutpunkter. Enheten måste tillhandahålla minst en konfiguration, men den kan tillhandahålla flera konfigurationer som är ömsesidigt uteslutande definitioner av vad enheten kan göra. Mer information om konfigurationsbeskrivningar finns i USB-konfigurationsbeskrivningar.

Enhetskonfiguration refererar till de uppgifter som klientdrivrutinen utför för att välja en USB-konfiguration och ett alternativt gränssnitt i varje gränssnitt. Innan du skickar I/O-begäranden till enheten måste en klientdrivrutin läsa enhetens konfiguration, parsa informationen och välja en lämplig konfiguration. Klientdrivrutinen måste välja minst en av de konfigurationer som stöds för att enheten ska fungera.

En WDM-baserad klientdrivrutin kan välja någon av konfigurationerna i en USB-enhet.

Om klientdrivrutinen baseras på Kernel-Mode Driver Framework eller User-Mode Driver Framework bör du använda respektive ramverksgränssnitt för att konfigurera en USB-enhet. Om du använder DE USB-mallar som medföljer Microsoft Visual Studio Professional 2012 väljer mallkoden den första konfigurationen och den alternativa standardinställningen i varje gränssnitt.

I det här avsnittet

Ämne Beskrivning
Så här väljer du en konfiguration för en USB-enhet I det här avsnittet får du lära dig hur du väljer en konfiguration på en USB-enhet (Universal Serial Bus).
Så här väljer du en alternativ inställning i ett USB-gränssnitt I det här avsnittet beskrivs stegen för att utfärda en select-interface-begäran för att aktivera en alternativ inställning i ett USB-gränssnitt. Klientdrivrutinen måste utfärda den här begäran när du har valt en USB-konfiguration. Om du väljer en konfiguration aktiveras som standard även den första alternativa inställningen i varje gränssnitt i den konfigurationen.
Konfigurera Usbccgp.sys för att välja en USB-konfiguration som inte är standard Det här avsnittet innehåller information om registerinställningar som konfigurerar hur Usbccgp.sys väljer en USB-konfiguration. Avsnittet beskriver också hur Usbccgp.sys hanterar select-configuration-begäranden som skickas av en klientdrivrutin som styr en av funktionerna i en sammansatt enhet.

Information om särskilda överväganden som rör konfigurationen av enheter som kräver nedladdning av inbyggd programvara finns i Konfigurera USB-enheter som kräver nedladdning av inbyggd programvara.

Begränsningar för att välja en konfiguration

Vissa begränsningar gäller om en klientdrivrutin använder WDF-objekt eller om enheten har ett enda gränssnitt eller flera gränssnitt. Tänk på följande begränsningar innan du ändrar standardkonfigurationen:

  • En klientdrivrutin för en sammansatt enhet som hanterar gränssnitt eller gränssnittssamlingar via USB Generic Parent Driver (Usbccgp.sys) kan inte ändra enhetens konfigurationsvärde. Klientdrivrutinen kan dock konfigurera Usbccgp.sys att välja en annan konfiguration än den första (standardkonfigurationen). Mer information finns i Konfigurera Usbccgp.sys för att välja en USB-konfiguration som inte är standard.
  • En KMDF-baserad klientdrivrutin som använder ramverkets USB I/O-mål kan bara välja den första konfigurationen.
  • WinUSB stöder endast den första konfigurationen.
  • En klassdrivrutin saknar ofta stöd för flera konfigurationer. Om enheten implementerar en klass som definieras av en USB-klassspecifikation kan du gå till USB-teknikwebbplatsen för information om enhetsklasser och klassspecifikationer. Microsoft tillhandahåller klassdrivrutiner för USB-enhetsklasser som stöds. Mer information finns i Drivrutiner för USB-enhetsklasser som stöds.