Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
WinUSB bestaat uit twee primaire onderdelen:
- Winusb.sys is een kernelmodusstuurprogramma dat kan worden geïnstalleerd als een filter- of functiestuurprogramma, boven de protocolstuurprogramma's in de kernelmodus van een USB-apparaatstack.
- Winusb.dll is een DLL in de gebruikersmodus waarmee WinUSB-functies worden weergegeven. Toepassingen kunnen deze functies gebruiken om te communiceren met Winusb.sys wanneer deze is geïnstalleerd als het functiestuurprogramma van een apparaat.
Voor apparaten waarvoor geen aangepast functiestuurprogramma is vereist, kan Winusb.sys worden geïnstalleerd in de kernelmodusstack van het apparaat als het functiestuurprogramma. Processen in de gebruikersmodus kunnen vervolgens communiceren met Winusb.sys met behulp van een set I/O-beheeraanvragen van apparaten of door WinUSB-functies aan te roepen.
In de volgende afbeelding ziet u een USB-stuurprogrammastack die verschillende exemplaren van Winusb.sysbevat.
In de voorgaande afbeelding ziet u een voorbeeld van een WinUSB-configuratie waarmee drie apparaatinterfaceklassen worden geïmplementeerd, die elk één geregistreerde apparaatinterface hebben:
- Exemplaar 1 van Winusb.sys registreert apparaatinterface A, die een stuurprogramma voor de gebruikersmodus (Usboem.dll) ondersteunt.
- Exemplaar 2 van Winusb.sys registreert apparaatinterface B, die een stuurprogramma voor de gebruikersmodus ondersteunt voor een scanner (Usbscan.exe) die communiceert met Winusb.dll met behulp van een systeemservice (SVCHOST).
- Exemplaar 3 van Winusb.sys registreert apparaatinterface C, die ondersteuning biedt voor een firmware-updatehulpprogramma (Usbfw.exe).
Er is precies één geladen exemplaar van Winusb.sys. Een fysiek apparaatobject (PDO) kan een niet-composite apparaat (exemplaar 1 in het diagram) vertegenwoordigen of kan een interface of interfaceverzameling op een samengesteld apparaat vertegenwoordigen (exemplaren 2 en 3). Voor WMCDC-apparaten (Wireless Mobile Communication Device Class) van USB kan een PDO zelfs verschillende interfaceverzamelingen vertegenwoordigen. (Zie voor meer informatie over PPO's voor WMCDC-apparaten ondersteuning voor de klasse Draadloze mobiele communicatieapparaten.)
Elke toepassing in de gebruikersmodus kan communiceren met de USB-stack door de Dynamische Koppelingsbibliotheek van WinUSB (Winusb.dll) te laden en de WinUSB-functies aan te roepen die door deze module worden weergegeven.