Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj dostarczonego przez firmę Microsoft sterownika USB (Usbser.sys) dla urządzeń komunikacyjnych i kontrolnych klasy CDC. Używaj sterowników dołączonych do systemu Windows, jeśli jest to możliwe.
Ważne
Ten artykuł dotyczy producentów urządzeń sterujących CDC. Jeśli jesteś klientem mającym problemy z USB, zobacz Rozwiązywanie problemów z USB-C w systemie Windows
Usbser.sys jest implementowany przy użyciu struktury sterownikówKernel-Mode. Sterownik obsługuje funkcje Plug and Play i zarządzania energią, takie jak selektywne wstrzymanie USB.
Aplikacje platformy uniwersalnej systemu Windows (UWP) mogą używać interfejsów API udostępnianych przez przestrzeń nazw Windows.Devices.SerialCommunication , umożliwiając aplikacjom komunikację z urządzeniami CDC.
instalacja Usbser.sys
Załaduj sterownik wbudowany firmy Microsoft (Usbser.sys) na potrzeby komunikacji i urządzenia sterowania CDC.
Uwaga / Notatka
Jeśli próbujesz zainstalować sterownik klasy urządzeń USB dołączony do systemu Windows, nie musisz pobierać sterownika. System Windows automatycznie instaluje te sterowniki. Jeśli system Windows nie zainstaluje sterownika, skontaktuj się z producentem urządzenia. Aby uzyskać listę sterowników klasy urządzeń USB zawartych w systemie Windows, zobacz Sterowniki klasy urządzeń USB zawarte w systemie Windows.
Plik Usbser.inf znajduje się w %Systemroot%\INF
katalogu . Ten plik informacji o konfiguracji (INF) ładuje Usbser.sys jako obiekt urządzenia funkcjonalnego (FDO) w stosie urządzenia. Jeśli urządzenie należy do klasy urządzeń komunikacyjnych i kontroli CDC, Usbser.sys ładuje się automatycznie. Nie musisz pisać własnego pliku INF, aby odwołać się do sterownika. System Windows ładuje sterownik na podstawie zgodnego identyfikatora, podobnie jak inne sterowniki klasy urządzeń USB zawarte w systemie Windows.
USB\Class_02
USB\Class_02&SubClass_02
Aby załadować Usbser.sys automatycznie, ustaw kod klasy na 02 i kod podklasy na 02 w deskryptorze urządzenia. Dzięki temu podejściu nie trzeba rozpowszechniać plików INF dla urządzenia, ponieważ system używa narzędzia Usbser.inf. Aby uzyskać więcej informacji, zobacz Definicje klas dla urządzeń komunikacyjnych 1.2.
Jeśli urządzenie określa kod klasy 02, ale kod podklasy innej niż 02, Usbser.sys nie jest ładowany automatycznie. Menedżer Plug and Play próbuje znaleźć sterownik. Jeśli system Windows nie znajdzie odpowiedniego sterownika, urządzenie może nie mieć załadowanego sterownika. Może być konieczne załadowanie własnego sterownika lub zapisanie pliku INF, który odwołuje się do innego sterownika wbudowanego.
Jeśli urządzenie określa kody klasy i podklasy 02, a chcesz załadować inny sterownik zamiast Usbser.sys, napisz plik INF. W pliku INF określ identyfikator sprzętu urządzenia i sterownik do zainstalowania.
Konfigurowanie selektywnego wstrzymania dla Usbser.sys
Usbser.sys obsługuje wstrzymanie selektywne USB. Ten sterownik umożliwia podłączonemu urządzeniu USB-to-serial wejście w stan niskiego zużycia energii, gdy nie jest używane, podczas gdy system pozostaje w stanie S0. Po wznowieniu komunikacji z urządzeniem urządzenie opuszcza stan wstrzymania i wznawia działanie. Funkcja jest domyślnie wyłączona, ale można jej włączyć i skonfigurować, ustawiając wpis IdleUsbSelectiveSuspendPolicy w tym kluczu rejestru:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\<hardware id>\<instance id>\Device Parameters
Aby skonfigurować funkcje zarządzania energią Usbser.sys, ustaw parametr IdleUsbSelectiveSuspendPolicy na:
Wartość | Zachowanie |
---|---|
0x00000001 |
Wprowadź selektywne wstrzymanie w przypadku bezczynności, czyli w przypadku braku aktywnych transferów danych do lub z urządzenia. |
0x00000000 |
Wprowadź selektywne wstrzymanie tylko wtedy, gdy nie ma otwartych dojść do urządzenia. |
Dodaj ten wpis na jeden z dwóch sposobów:
Napisz INF, który odwołuje się do pliku instalacyjnego INF i dodaj wpis rejestru w sekcji HW.AddReg.
Opisz wpis rejestru w deskryptorze funkcji systemu operacyjnego rozszerzonych właściwości. Dodaj sekcję właściwości niestandardowej, która ustawia pole bPropertyName na ciąg Unicode:
IdleUsbSelectiveSuspendPolicy
. Ustaw wartość wPropertyNameLength na 62 bajty. Ustaw pole bPropertyData na0x00000001
lub0x00000000
. Wartości właściwości są przechowywane jako 32-bitowe liczby całkowite w formacie little-endian.Aby uzyskać więcej informacji, zobacz Deskryptory systemu operacyjnego Microsoft.
Tworzenie aplikacji systemu Windows dla urządzenia CDC USB
Aplikacja systemu Windows wysyła żądania do Usbser.sys przy użyciu przestrzeni nazw Windows.Devices.SerialCommunication . Przestrzeń nazw definiuje klasy środowiska uruchomieniowego systemu Windows, które komunikują się z urządzeniem CDC USB za pośrednictwem portu szeregowego lub abstrakcji portu szeregowego. Klasy umożliwiają odnajdywanie urządzeń szeregowych, odczytywanie i zapisywanie danych oraz kontrolowanie właściwości specyficznych dla serii dla sterowania przepływem, takich jak ustawianie szybkości transmisji i stanów sygnału.