Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Som drivrutinsutvecklare kan du avsevärt effektivisera utvecklingsprocessen genom att förstå WinUSB (Windows USB), särskilt när du arbetar med USB-enheter. WinUSB är en allmän drivrutin som ingår i Windows. Det gör att du kan kommunicera med USB-enheter utan att behöva skriva en anpassad drivrutin. Med den här drivrutinen kan du spara tid, minska komplexiteten och säkerställa kompatibilitet mellan olika Windows-versioner.
Viktiga fördelar med att använda WinUSB
Förenklad utveckling
- Användarvänlighet: WinUSB sammanfattar mycket av komplexiteten i USB-kommunikation, vilket gör det enklare för dig att interagera med USB-enheter.
 - Ingen anpassad drivrutin behövs: För många USB-enheter kan WinUSB användas direkt, vilket eliminerar behovet av att skriva och underhålla en anpassad drivrutin.
 
Plattformsoberoende kompatibilitet
- Standardiserat gränssnitt: WinUSB tillhandahåller ett standardiserat gränssnitt för USB-kommunikation, vilket kan bidra till att säkerställa kompatibilitet mellan olika Windows-versioner.
 
Tids- och kostnadseffektivitet
- Kortare utvecklingstid: Användning av WinUSB kan avsevärt minska den tid som krävs för att utveckla och testa en USB-drivrutin.
 - Lägre underhållskostnader: Eftersom Microsoft underhåller WinUSB kan du lita på att det uppdateras och stöds, vilket minskar kostnaderna för långsiktigt underhåll.
 
Åtkomst till USB-funktioner
- Fullständig USB-funktion: WinUSB stöder ett brett utbud av USB-funktioner, inklusive massöverföringar, kontrollöverföringar, avbrottsöverföringar och isochrona överföringar.
 
Vad du kan åstadkomma med WinUSB
Enhetskommunikation
- Dataöverföring: Skicka och ta emot data till och från en USB-enhet med mass-, kontroll-, avbrotts- eller isochroniska överföringar.
 - Kontrollbegäranden: Skicka kontrollbegäranden för att konfigurera enheten eller hämta information.
 
Enhetskonfiguration
- Inställningskonfiguration: Välj konfigurationer, gränssnitt och alternativa inställningar för att konfigurera USB-enheten.
 - Slutpunktshantering: Hantera slutpunkter för dataöverföring.
 
Enhetsuppräkning
- Enhetsidentifiering: Räkna upp och identifiera USB-enheter som är anslutna till systemet.
 - Deskriptorhämtning: Hämta enhetsbeskrivningar, konfigurationsbeskrivningar, gränssnittsbeskrivningar och slutpunktsbeskrivningar.
 
Anpassade applikationer
- Program i användarläge: Utveckla program i användarläge som kommunicerar med USB-enheter med winUSB-API:et.
 - Uppdateringar av inbyggd programvara: Implementera mekanismer för uppdatering av inbyggd programvara för USB-enheter.
 
Testa och felsöka
- Prototypa: Prototypa snabbt USB-enhetskommunikation för att testa maskinvarufunktion.
 - Felsökning: Använd WinUSB för att felsöka kommunikationsproblem mellan värddatorn och USB-enheten.
 
Komponenter i WinUSB
WinUSB innehåller:
- En drivrutin i kärnläge (winusb.sys)
 - Ett bibliotek för dynamisk länk i användarläge (winusb.dll) som exponerar WinUSB-funktioner som beskrivs i winusb.h. Du kan använda dessa funktioner för att hantera USB-enheter med programvara i användarläge.
 
Som standard installeras winusb.sys i enhetens kernellägesstack som en övre filterdrivrutin. Appar kommunicerar med enhetens funktionsdrivrutin för User-Mode Driver Framework (UMDF) för att utfärda läs-, skriv- eller enhets-I/O-kontrollbegäranden. I den här konfigurationen fungerar winusb.sys som enhetsstackens Plug and Play och strömägare. Du kan också installera winusb.sys som funktionsdrivrutin för en USB-enhet.
Kom igång med WinUSB
Det här avsnittet innehåller information om:
- Välja rätt drivrutin för en enhet
 - Använda WinUSB för att kommunicera med USB-enheter
 - Installera winusb.sys som funktionsdrivrutin för en USB-enhet
 
Den innehåller även detaljerade kodexempel som visar hur appar och USB-enheter kommunicerar.
Anmärkning
WinUSB stöder isochroniska överföringar från och med Windows 8.