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.
Gebruik het door Microsoft geleverde USB-stuurprogramma (Usbser.sys) voor uw CDC-besturingsapparaten (Communications And Communications Device Class). Gebruik waar mogelijk de stuurprogramma's in Windows.
Belangrijk
Dit artikel is bedoeld voor fabrikanten van CDC-besturingsapparaten. Als u een klant bent die USB-problemen ondervindt, raadpleegt u Problemen met USB-C oplossen in Windows
Usbser.sys wordt geïmplementeerd met behulp van het Kernel-Mode Driver Framework. Het stuurprogramma ondersteunt Plug en Play en energiebeheerfuncties zoals USB Selectief onderbreken.
UWP-toepassingen (Universal Windows Platform) kunnen gebruikmaken van de API's die worden geleverd door de Windows.Devices.SerialCommunication-naamruimte , zodat apps kunnen communiceren met CDC-apparaten.
installatie van Usbser.sys
Laad het door Microsoft geleverde stuurprogramma (Usbser.sys) voor uw communicatie- en CDC-besturingsapparaat.
Opmerking
Als u probeert een stuurprogramma voor usb-apparatenklasse te installeren dat is opgenomen in Windows, hoeft u het stuurprogramma niet te downloaden. Windows installeert deze stuurprogramma's automatisch. Als Windows het stuurprogramma niet installeert, neemt u contact op met de fabrikant van het apparaat. Zie stuurprogramma's voor USB-apparaatklassen die zijn opgenomen in Windows, voor een lijst met stuurprogramma's voor USB-apparaten die zijn opgenomen in Windows.
Usbser.inf bevindt zich in de %Systemroot%\INF map. Met dit INF-bestand (Setup Information) wordt Usbser.sys geladen als het functionele apparaatobject (FDO) in de apparaatstack. Als uw apparaat deel uitmaakt van de communicatie- en CDC-apparaatklasse, wordt Usbser.sys automatisch geladen. U hoeft uw eigen INF-bestand niet te schrijven om naar het stuurprogramma te verwijzen. Windows laadt het stuurprogramma op basis van een compatibele ID-overeenkomst, vergelijkbaar met andere stuurprogramma's van USB-apparaatklassen die zijn opgenomen in Windows.
USB\Class_02
USB\Class_02&SubClass_02
Stel de Klassecode in op 02 en de Subklassecode op 02 in de Apparaatdescriptor om Usbser.sys automatisch te laden. Met deze methode hoeft u geen INF-bestanden voor uw apparaat te distribueren, omdat het systeem Gebruikmaakt van Usbser.inf. Zie Klassedefinities voor communicatieapparaten 1.2 voor meer informatie.
Als op uw apparaat klassecode 02 maar een andere subklassecode dan 02 is opgegeven, wordt Usbser.sys niet automatisch geladen. De Plug en Play-manager probeert een stuurprogramma te vinden. Als Windows geen geschikt stuurprogramma vindt, is er mogelijk geen stuurprogramma geladen op het apparaat. Mogelijk moet u uw eigen stuurprogramma laden of een INF-bestand schrijven dat naar een ander in-box stuurprogramma verwijst.
Als op uw apparaat klasse- en subklassecodes van 02 worden opgegeven en u een ander stuurprogramma wilt laden in plaats van Usbser.sys, schrijft u een INF-bestand. Geef in het INF-bestand de hardware-id van het apparaat en het stuurprogramma op dat moet worden geïnstalleerd.
Selectief onderbreken configureren voor Usbser.sys
Usbser.sys ondersteunt USB Selective Suspend. Met dit stuurprogramma kan het aangesloten USB-naar-seriële apparaat een status met weinig vermogen invoeren wanneer het niet wordt gebruikt, terwijl het systeem in de S0-status blijft. Wanneer de communicatie met het apparaat wordt hervat, blijft de onderbrekingsstatus behouden en wordt de werkstatus hervat. De functie is standaard uitgeschakeld, maar kan worden ingeschakeld en geconfigureerd door de vermelding IdleUsbSelectiveSuspendPolicy in te stellen onder deze registersleutel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\<hardware id>\<instance id>\Device Parameters
Als u energiebeheerfuncties van Usbser.syswilt configureren, stelt u de parameter IdleUsbSelectiveSuspendPolicy in op:
| Waarde | Gedrag |
|---|---|
0x00000001 |
Schakel over op selectieve onderbreking wanneer het apparaat inactief is, dat wil zeggen, wanneer er geen actieve gegevensoverdrachten naar of van het apparaat zijn. |
0x00000000 |
Voer selectief onderbreken alleen in wanneer er geen geopende ingangen voor het apparaat zijn. |
Voeg deze vermelding op twee manieren toe:
Schrijf een INF die verwijst naar de installatie-INF en voeg de registervermelding toe aan de HW.AddReg-sectie.
Beschrijf de registervermelding in een functiedescriptor voor uitgebreide eigenschappen van het besturingssysteem. Voeg een aangepaste eigenschapssectie toe waarmee het veld bPropertyName wordt ingesteld op een Unicode-tekenreeks:
IdleUsbSelectiveSuspendPolicy. Stel wPropertyNameLength in op 62 bytes. Stel het veld bPropertyData in op0x00000001of0x00000000. De eigenschapswaarden worden opgeslagen als kleine endiane 32-bits gehele getallen.Zie Microsoft OS Descriptors voor meer informatie.
Windows-toepassingen ontwikkelen voor een USB CDC-apparaat
Een Windows-app verzendt aanvragen naar Usbser.sys met behulp van de naamruimte Windows.Devices.SerialCommunication . De naamruimte definieert Windows Runtime-klassen die communiceren met een USB CDC-apparaat via een seriële poort of een abstractie van een seriële poort. Met de klassen kunt u seriële apparaten detecteren, gegevens lezen en schrijven, en seriële eigenschappen voor stroombeheer beheren, zoals het instellen van de baudrate en signaalstatussen.