Udostępnij przez


Szczegóły rozwiązania do morfowania tożsamości MB

Wymagania dotyczące konfiguracji

Kolejność funkcji między przejściami w systemie Windows 8 musi być zachowana. Na przykład jeśli MBIM jest trzecią funkcją w konfiguracji Windows-8-Configuration, powinna być również trzecią funkcją w konfiguracji IHV-NCM-2.0.

Konfiguracja Windows-7

Konfiguracja Windows-7 powinna być pierwszą konfiguracją w urządzeniu do przekształcania. Ta konfiguracja powinna mieć funkcję magazynu masowego jako jedną z funkcji. System Windows 8 nie wybierze tej konfiguracji. W systemie Windows 7 i starszych wersjach systemu Windows domyślnie wybierana jest konfiguracja Windows-7-Configuration. Ta konfiguracja służy do uwidaczniania funkcji pamięci masowej USB, w której IHV umieszczają swój pakiet sterowników, co umożliwia użytkownikom zainstalowanie sterownika IHV.

Konfiguracja-Windows-8

System Windows-7-Configuration uwidacznia funkcję MBIM jako jedną z funkcji, na których jest ładowany MBCD. W systemie Windows 8 wartość tej konfiguracji jest używana jako wartość subCompatibleID, która jest zwracana do USBCCGP. Protokół USBCCGP wybiera tę konfigurację po załadowaniu. Konfiguracja systemu Windows-8 powinna mieć wartość Configuration 2, 3 lub 4. Żadna inna konfiguracja nie jest obsługiwana jako konfiguracja systemu Windows-8. Ta konfiguracja uwidacznia również funkcję magazynu masowego jako pierwszą funkcję, aby umożliwić użytkownikowi zainstalowanie pakietu sterowników IHV.

IHV-NCM-2.0-Konfiguracja

Konfiguracja IHV-NCM-2.0 uwidacznia funkcje specyficzne dla IHV wraz z funkcjami MBIM i pamięci masowej. Ta konfiguracja nie jest ustawiana ani używana przez system Windows. Oprogramowanie IHV po instalacji przez użytkownika może przekształcić się w tę konfigurację. Należy pamiętać, że kolejność funkcji w tej konfiguracji powinna być taka sama jak w systemie Windows-8-Configuration. Mimo że do konfiguracji systemu Windows-8 można dodać dodatkowe funkcje, istniejące funkcje powinny być zachowywane w tej samej kolejności.

IHV-NCM-1.0-Konfiguracja

Konfiguracja IHV-NCM-1.0 udostępnia funkcje specyficzne dla IHV wraz z funkcjami NCM 1.0 i pamięci masowej. Ta konfiguracja nie jest ustawiona ani używana przez system Windows 8. Ta konfiguracja jest używana tylko w systemie Windows 7 i starszych wersjach systemu Windows po zainstalowaniu oprogramowania IHV przez użytkownika. Oprogramowanie IHV przekształca urządzenie morfujące z konfiguracji systemu Windows-7 do tej konfiguracji.

Zgodne identyfikatory

Zgodne identyfikatory to 8-znakowe lub mniejsze ciągi używane przez urządzenie w celu wskazania preferencji ładowania sterownika do systemu Windows. Urządzenia mogą definiować zgodne identyfikatory przy użyciu deskryptorów systemu operacyjnego Microsoft. Identyfikatory zgodne i podzgodne mają zastosowanie do poszczególnych funkcji. Każda konfiguracja może mieć oddzielny zestaw zgodnych identyfikatorów, mapujących się na zestaw funkcji w ramach tej konfiguracji. Mimo że zgodne i niezgodne identyfikatory mają zastosowanie do poszczególnych funkcji, urządzenie morfujące może mieć jeden zgodny identyfikator, jeśli nie wybrano żadnej konfiguracji. Ten zgodny i podzgodny identyfikator logicznie stosuje się do całego urządzenia morfującego.

Ładowanie protokołu USBCCGP

W systemie Windows 8 do automatycznego wyboru konfiguracji Windows-8 na urządzeniu zmiennokształtnym wymagany jest sterownik USBCCGP.

Aby załadować sterownik USBCCGP, urządzenie morfujące musi zgłosić następujące zgodne i podzgodne identyfikatory, jeżeli na urządzeniu morfującym nie wybrano żadnej konfiguracji.

  • Jeśli urządzenie przekształcające używa identyfikatorów IAD do grupowania interfejsów w funkcje, zgodny identyfikator powinien być zgłaszany jako "ALTRCFG", a identyfikator podkompatybilny jako numer konfiguracji Windows-8.
  • Jeśli urządzenie morfujące używa UFD WCM do grupowania interfejsów w funkcje, identyfikator zgodny powinien być zgłaszany jako "WMCALTR", a podzgodny identyfikator jako liczba konfiguracji Windows 8.

Jeśli na przykład konfiguracja Windows-8 to Konfiguracja 3, identyfikator subkompatybilności będzie mieć wartość "3" w obu przypadkach.

Identyfikatory zgodne z morfowaniem

Podczas enumeracji urządzeń USB, usługa USBHUB wysyła zapytanie do urządzenia morfującego o zgodny identyfikator, gdy nie jest wybrana żadna konfiguracja na tym urządzeniu. Urządzenie morfujące powinno zwrócić zgodny i podzgodny identyfikator używany do ładowania USBCCGP, zgodnie z opisem w MB Identity Morphing Solution Overview.

Po załadowaniu USBHUB przez USBCCGP, USBCCGP wybiera konfigurację wskazaną wcześniej przez subkompatybilny identyfikator. USBCCGP następnie wysyła zapytanie do zgodnego i podzgodnego identyfikatora po raz drugi. Na tym etapie urządzenie morfujące powinno zwrócić zgodne i niezgodne identyfikatory dla aktualnie wybranej konfiguracji. W związku z tym po załadowaniu protokołu USBCCGP i wybraniu określonej konfiguracji urządzenie morfujące musi przekształcić zgodne i niezgodne identyfikatory, które są zgłaszane. Urządzenie morfujące nie może zgłaszać zgodnych i niezgodnych identyfikatorów używanych do ładowania protokołu USBCCGP po wybraniu konfiguracji.

usbhub zapytanie o deskryptor systemu operacyjnego firmy Microsoft z urządzenia podczas enumeracji.

USBHUB pobiera deskryptor systemu operacyjnego Microsoft z urządzenia podczas enumeracji.

urządzenie zwraca wartość compatid w stanie nieskonfigurowanym.

Urządzenie zwraca CompatId w stanie nieskonfigurowanym. Ten CompatId służy do ładowania USBCCGP.

usbccgp wybiera konfigurację zgłoszoną w identyfikatorze podkompatybilnym.

Protokół USBCCGP wybiera konfigurację zgłoszoną w identyfikatorze podkompatybilnym.

urządzenie przekształca deskryptor Microsoft OS na podstawie nowej konfiguracji. usbccgp zapytuje o deskryptor Microsoft OS.

Urządzenie zmienia opis systemu operacyjnego Microsoft w zależności od nowej konfiguracji. Zapytania USBCCGP dotyczące deskryptora systemu operacyjnego Microsoft.

urządzenie nie zwraca żadnego identyfikatora zgodności. na podstawie klasy / podklasy / protokołu, usbccgp ładuje usbstor i mbcd.

Urządzenie nie zwraca żadnego identyfikatora CompatID. Na podstawie klasy / podklasy / protokołu USBCCGP ładuje USBSTOR i MBCD.