Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Firma Microsoft udostępnia zestaw zastrzeżonych klas urządzeń i deskryptorów USB, które są nazywane deskryptorami systemu operacyjnego Microsoft (MOD).
- Specyfikacja Deskryptorów Microsoft OS 1.0
- Specyfikacja deskryptorów systemu operacyjnego Microsoft 2.0
Ze względu na szybkie pojawienie się urządzeń, które zawierają wiele funkcji sprzętowych, wielu producentów uważa, że ich urządzenia nie mieszczą się wygodnie w żadnej z obecnych klas urządzeń magistrali szeregowej (USB). To pozbawia takich producentów jednej z najbardziej atrakcyjnych funkcji technologii USB: standaryzacji oprogramowania sterowników (zgodnie z klasą urządzenia). System Windows udostępnia sterowniki klas natywnych dla większości urządzeń należących do standardowych klas urządzeń USB, a te sterowniki umożliwiają użytkownikom końcowym łatwe dołączanie takich urządzeń do komputera bez konieczności instalowania specjalnego oprogramowania.
Aby pomieścić producentów, których urządzenia nie pasują do bieżącego zestawu klas urządzeń USB, firma Microsoft opracowała zestaw zastrzeżonych klas urządzeń i deskryptorów USB, które są nazywane deskryptorami systemu operacyjnego Microsoft (MOD). Zarówno aplikacje, jak i oprogramowanie systemowe mogą identyfikować urządzenia należące do klas urządzeń zdefiniowanych przez firmę Microsoft, wysyłając zapytanie do urządzeń w celu określenia, czy obsługują one dyski MOD.
Deskryptory systemu operacyjnego Microsoft mają ważne zastosowania inne niż obsługa zastrzeżonych klas urządzeń. W szczególności zapewniają one mechanizm uzyskiwania maksymalnej korzyści z oprogramowania układowego urządzenia. Za pomocą deskryptorów systemu operacyjnego Microsoft można używać oprogramowania układowego do dostarczania plików pomocy, specjalnych ikon, ujednoliconych lokalizatorów zasobów (adresów URL), ustawień rejestru i innych danych, które są wymagane do ułatwienia instalacji i zwiększenia zadowolenia klientów. W niektórych przypadkach można wyprzeć nośniki danych, takie jak dyskietki i płyty CD, co upraszcza dostarczanie i obsługę uaktualnień.
Obsługa systemu operacyjnego
Deskryptory systemu operacyjnego Microsoft 1.0 są obsługiwane w następujących systemach:
- Windows 11
- Windows 10
- Windows 8.1
- Windows 8
- Windows 7
- Windows Vista, Windows Server 2008
- Windows XP z dodatkiem Service Pack 1 (SP1), Windows Server 2003
Deskryptory systemu operacyjnego Microsoft 2.0 są obsługiwane w następujących systemach:
- Windows 11
- Windows 10
- Windows 8.1
Dlaczego system Windows wystawia żądanie deskryptora ciągu w celu indeksowania 0xEE?
Urządzenia, które obsługują deskryptory systemu operacyjnego Microsoft, muszą przechowywać specjalny deskryptor ciągu USB w oprogramowaniu układowym przy stałym indeksie ciągów 0xEE. Ten deskryptor ciągu jest nazywany deskryptorem ciągu systemu operacyjnego Microsoft.
- Jego obecność wskazuje, że urządzenie zawiera co najmniej jeden deskryptor funkcji systemu operacyjnego.
- Zawiera on dane wymagane do pobrania skojarzonych deskryptorów funkcji systemu operacyjnego.
- Zawiera on pole podpisu, które odróżnia deskryptor ciągu systemu operacyjnego od innych ciągów, które mogą być przechowywane w 0xEE.
- Zawiera numer wersji, który umożliwia przyszłe wersje deskryptorów systemu operacyjnego Microsoft.
Jeśli w 0xEE nie ma deskryptora ciągów lub deskryptor ciągu w tym indeksie nie jest prawidłowym deskryptorem ciągu systemu operacyjnego, system Windows zakłada, że urządzenie nie zawiera żadnych deskryptorów funkcji systemu operacyjnego.
Gdy nowe urządzenie jest dołączane do komputera po raz pierwszy, system operacyjny obsługujący deskryptory systemu operacyjnego Microsoft żąda deskryptora ciągu, który znajduje się w indeksie 0xEE. Deskryptor ciągu systemu operacyjnego Microsoft zawiera osadzone pole podpisu używane przez system operacyjny do odróżnienia go od innych ciągów, które mogą znajdować się w indeksie 0xEE. Obecność deskryptora ciągu zawierającego odpowiednie pole podpisu w indeksie 0xEE wskazuje systemowi operacyjnemu, że urządzenie obsługuje deskryptory systemu Windows. Deskryptor ciągu systemu operacyjnego Microsoft udostępnia również system operacyjny z informacjami o wersji.
System operacyjny wykonuje zapytania dotyczące deskryptora ciągu w indeksie 0xEE podczas wyliczania urządzenia, zanim sterownik dla urządzenia się załaduje, co może spowodować nieprawidłowe działanie niektórych urządzeń. Takie urządzenia nie są obsługiwane przez wersje systemu operacyjnego Windows, które obsługują deskryptory systemu operacyjnego Microsoft.
Jeśli urządzenie nie zawiera prawidłowego deskryptora ciągów w indeksie 0xEE, musi odpowiadać za pomocą pakietu wstrzymania (innymi słowy, pakietu zawierającego identyfikator pakietu typu STALL), który został opisany w sekcji "Błędy żądań" specyfikacji uniwersalnej magistrali szeregowej. Jeśli urządzenie nie odpowiada pakietem zakończenia transmisji, system wysyła pakiet resetowania zerowego do urządzenia, aby pomóc mu odzyskać sprawność z jego stanu zablokowania (dotyczy tylko systemu Windows XP).
Po tym, jak system operacyjny zażąda deskryptora ciągu Microsoft OS z urządzenia, tworzy następujący klucz rejestru:
HLKM\SYSTEM\CurrentControlSet\Control\UsbFlags\vvvvpppprrrrr
System operacyjny tworzy wpis rejestru o nazwie osvc w ramach tego klucza rejestru, który wskazuje, czy urządzenie obsługuje deskryptory systemu operacyjnego Microsoft. Jeśli urządzenie nie dostarcza prawidłowej odpowiedzi po raz pierwszy, gdy system operacyjny wysyła do niego zapytanie dotyczące deskryptora ciągów systemu operacyjnego Microsoft, system operacyjny nie wysyła żadnych dalszych żądań dotyczących tego deskryptora.
Aby uzyskać wpisy rejestru pod tym kluczem, zobacz Wpisy rejestru urządzeń USB.
Aby uzyskać więcej informacji, zobacz Specyfikacja deskryptorów systemu operacyjnego Microsoft 1.0.
Jakie typy deskryptorów funkcji systemu operacyjnego obsługuje system Windows?
Wszelkie informacje, które mają być przechowywane jako deskryptor funkcji, muszą być zgodne z jednym ze standardowych formatów firmy Microsoft. Nie można zdefiniować ani zaimplementować innych deskryptorów funkcji bez zgody firmy Microsoft. Firma Microsoft zdefiniowała następujące deskryptory funkcji:
- Rozszerzony identyfikator zgodności. System Windows używa kodów klas i podklas, aby ułatwić znalezienie odpowiedniego sterownika domyślnego dla urządzenia USB. Jednak grupa robocza urządzenia USB musi przydzielić te kody. Oznacza to, że urządzenia, które implementują nowe typy funkcji, często nie mają jeszcze odpowiednich kodów klas i podklas, więc system Windows nie może używać kodów do wybrania sterownika domyślnego. Niezależni dostawcy sprzętu (IHV) mogą obejść ten problem, przechowując informacje w firmware jako rozszerzony deskryptor funkcji zgodności systemu operacyjnego. System Windows może następnie pobrać te informacje, gdy urządzenie jest podłączone i używa go do określenia, który sterownik domyślny ma być ładowany.
- Właściwości rozszerzone. Aktualnie są dwa poziomy, na których można zadeklarować właściwości dla urządzenia USB: poziom klasy lub poziom węzła urządzenia. Deskryptor funkcji rozszerzonej właściwości systemu operacyjnego umożliwia dostawcy przechowywanie większej liczby właściwości, takich jak strony pomocy, adresy URL i ikony w oprogramowaniu układowym urządzenia.