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.
Microsoft biedt een reeks eigen apparaatklassen en USB-descriptors, die Microsoft OS Descriptors (MOD's) worden genoemd.
Vanwege de snelle opkomst van apparaten die meerdere hardwarefuncties bevatten, vinden veel fabrikanten dat hun apparaten niet comfortabel in een van de huidige usb-apparaatklassen (Universal Serial Bus) passen. Dit ontneemt dergelijke fabrikanten van een van de meest aantrekkelijke functies van USB-technologie: de standaardisatie van stuurprogrammasoftware (volgens de klasse van het apparaat). Windows biedt systeemeigen klassestuurprogramma's voor de meeste apparaten die behoren tot standaard USB-apparaatklassen, en deze stuurprogramma's bieden eindgebruikers de mogelijkheid om dergelijke apparaten eenvoudig aan de computer te koppelen zonder speciale software te hoeven installeren.
Voor fabrikanten van wie apparaten niet in de huidige set USB-apparaatklassen passen, heeft Microsoft een set eigen apparaatklassen en USB-descriptors ontwikkeld, die Microsoft OS Descriptors (MOD's) worden genoemd. Zowel toepassingen als systeemsoftware kunnen de apparaten identificeren die deel uitmaken van de door Microsoft gedefinieerde apparaatklassen door een query uit te voeren op de apparaten om te bepalen of ze MOD's ondersteunen.
Microsoft OS Descriptors hebben andere belangrijke toepassingen dan het ondersteunen van de eigen apparaatklassen. Ze bieden met name een mechanisme voor het afleiden van het maximale voordeel van de apparaatfirmware. Met behulp van Microsoft OS Descriptors kunt u de firmware gebruiken om Help-bestanden, speciale pictogrammen, URL's (Uniform Resource Locators), registerinstellingen en andere gegevens te leveren die nodig zijn om de installatie te vereenvoudigen en de klanttevredenheid te verbeteren. In sommige gevallen kunt u afzien van opslagmedia zoals diskettes en cd's, wat de levering en ondersteuning van upgrades vereenvoudigt.
Ondersteuning voor besturingssystemen
Microsoft OS 1.0-descriptors worden ondersteund in:
- Windows 11
- Windows 10
- Windows 8.1
- Windows 8
- Windows 7
- Windows Vista, Windows Server 2008
- Windows XP met Service Pack 1 (SP1), Windows Server 2003
Microsoft OS 2.0-descriptors worden ondersteund in:
- Windows 11
- Windows 10
- Windows 8.1
Waarom geeft Windows een tekenreeksdescriptoraanvraag uit om 0xEE te indexeren?
Apparaten die Microsoft OS-descriptoren ondersteunen, moeten een speciale USB-stringdescriptor opslaan in firmware op de vaste stringindex van 0xEE. Deze tekenreeksdescriptor wordt een Microsoft OS String Descriptor genoemd.
- De aanwezigheid geeft aan dat het apparaat een of meer besturingssysteemfunctiedescriptors bevat.
- Deze bevat de gegevens die nodig zijn om de bijbehorende besturingssysteemfunctiedescriptors op te halen.
- Het bevat een handtekeningveld dat de OS-tekenreeksdescriptor onderscheidt van andere tekenreeksen die IHV's kunnen kiezen om op 0xEE op te slaan.
- Het bevat een versienummer waarmee toekomstige revisies van Microsoft OS-descriptors kunnen worden uitgevoerd.
Als er geen tekenreeksdescriptor is op 0xEE, of als de tekenreeksdescriptor op die index geen geldige OS-tekenreeksdescriptor is, gaat Windows ervan uit dat het apparaat geen OS-functiebeschrijvingen bevat.
Wanneer een nieuw apparaat voor het eerst aan een computer is gekoppeld, vraagt een besturingssysteem dat Ondersteuning biedt voor Microsoft OS Descriptors de tekenreeksdescriptor die zich op index 0xEE bevindt. De Microsoft OS String Descriptor bevat een ingesloten handtekeningveld dat door het besturingssysteem wordt gebruikt om deze te onderscheiden van andere tekenreeksen die zich mogelijk in de index 0xEE bevinden. De aanwezigheid van een tekenreeksdescriptor die het juiste handtekeningveld op index 0xEE bevat, geeft aan het besturingssysteem aan dat het apparaat Microsoft OS Descriptors ondersteunt. De Microsoft OS String Descriptor biedt ook het besturingssysteem versie-informatie.
Het besturingssysteem voert query's uit voor de tekenreeksdescriptor op index 0xEE tijdens de opsomming van het apparaat, vóór het stuurprogramma voor het laden van het apparaat. Dit kan ertoe leiden dat sommige apparaten defect raken. Dergelijke apparaten worden niet ondersteund door versies van het Windows-besturingssysteem die Ondersteuning bieden voor Microsoft OS Descriptors.
Als een apparaat geen geldige tekenreeksdescriptor op index 0xEE bevat, moet het reageren met een stall-pakket (met andere woorden, een pakket dat een pakket-ID van het type STALL bevat), dat wordt beschreven in de sectie Aanvraagfouten van de Universal Serial Bus-specificatie. Als het apparaat niet reageert met een stall-pakket, geeft het systeem een single-ended zero-reset-pakket aan het apparaat uit, om het te helpen herstellen van zijn vastgelopen status (alleen Windows XP).
Nadat het besturingssysteem een Microsoft OS String Descriptor van een apparaat heeft aangevraagd, wordt de volgende registersleutel gemaakt:
HLKM\SYSTEM\CurrentControlSet\Control\UsbFlags\vvvvpppprrrrr
Het besturingssysteem maakt een registervermelding, met de naam osvc, onder deze registersleutel die aangeeft of het apparaat Microsoft OS Descriptors ondersteunt. Als het apparaat geen geldig antwoord geeft wanneer het besturingssysteem het voor het eerst opvraagt voor een Microsoft OS String Descriptor, doet het besturingssysteem geen verdere aanvragen voor die descriptor.
Zie Registervermeldingen voor USB-apparaten onder die sleutel.
Zie Microsoft OS 1.0 Descriptors Specification (Specificatie van Microsoft OS 1.0) voor meer informatie.
Welke typen besturingssysteemfunctiedescriptors ondersteunt Windows?
Alle informatie die moet worden opgeslagen als een functiedescriptor, moet voldoen aan een van de door Microsoft gedefinieerde standaardindelingen. Andere functiedescriptors kunnen niet worden gedefinieerd of geïmplementeerd zonder Microsoft-toestemming. Microsoft heeft de volgende functiedescriptors gedefinieerd:
- Uitgebreide compatibiliteits-ID. Windows gebruikt klasse- en subklassecodes om het juiste standaardstuurprogramma voor een USB-apparaat te vinden. De werkgroep usb-apparaten moet deze codes echter toewijzen. Dit betekent dat apparaten die nieuwe typen functies implementeren vaak nog niet over de juiste klasse- en subklassecodes beschikken, zodat Windows de codes niet kan gebruiken om een standaardstuurprogramma te selecteren. IHV's kunnen dit probleem omzeilen door de informatie in firmware op te slaan als een uitgebreide compatibele ID-functiebeschrijving voor het besturingssysteem. Windows kan deze informatie vervolgens ophalen wanneer het apparaat is aangesloten en gebruikt om te bepalen welk standaardstuurprogramma moet worden geladen.
- Uitgebreide eigenschappen. Er zijn momenteel twee niveaus waarop eigenschappen kunnen worden gedeclareerd voor een USB-apparaat: klasseniveau of devnodeniveau. Met de uitgebreide eigenschappen-functiedescriptor van het besturingssysteem kan een leverancier meer eigenschappen opslaan, zoals helppagina's, URL's en pictogrammen in apparaat-firmware.