設定需求
必須維護 Windows 8 中跨轉換的函式順序。 例如,如果 MBIM 是 Windows-8-Configuration 中的第三個函式,它也應該是 IHV-NCM-2.0-Configuration 中的第三個函式。
Windows-7-設定
Windows 7 設定應該是變形裝置中的第一個配置。 此組態應具有大量儲存功能做為其中一個函式。 Windows 8 不會選取此設定。 在 Windows 7 和舊版 Windows 中,Windows-7-Configuration 是選取的預設組態。 此組態用來提供 USB 大容量儲存功能,供 IHV 放置驅動程式包,以便使用者安裝 IHV 的驅動程式。
Windows-8-Configuration
Windows 7 設定將 MBIM 功能公開為 MBCD 所載入的功能之一。 在 Windows 8 中,此組態的值會用於傳回 subCompatibleID 值至 USBCCGP。 USBCCGP 會在載入時選取此設定。 Windows 8 的設定應該是配置 2、3 或 4。 Windows-8-Configuration 不支援其他設定。 此組態也會公開大量儲存函式作為第一個函式,讓使用者安裝IHV的驅動程式套件。
IHV-NCM-2.0-Configuration
IHV-NCM-2.0-配置 提供 IHV 特定函式以及 MBIM 和大容量儲存功能。 Windows 不會設定或使用此組態。 使用者安裝之後的 IHV 軟體可以變成此設定。 請注意,此組態中的函式順序應該與 Windows-8-Configuration 中的相同。 雖然可以將額外的函式新增至 Windows-8-Configuration,但現有的函式應該以相同的順序保留。
IHV-NCM-1.0-Configuration
IHV-NCM-1.0-Configuration 會公開 IHV 特定功能,以及 NCM 1.0 和大容量儲存功能。 Windows 8 未設定或使用此設定。 此設定只有在使用者安裝 IHV 軟體之後,才會在 Windows 7 和舊版 Windows 中使用。 IHV 軟體會將變形裝置從 Windows-7-Configuration 轉為此設定。
相容的標識碼
相容識別碼是裝置用來指出給 Windows 的驅動程式載入偏好的 8 個字元或更小的字串。 裝置可以使用 Microsoft OS 描述元來定義相容的標識碼。 相容和次相容的標識碼會應用於個別功能。 每個組態可以有一組不同的相容標識符,其會對應至該組態內的函式集合。 雖然相容和子相容的標識符會套用至個別函式,但未選取任何組態時,變形裝置可以有單一相容標識符。 這個相容和子不相容的標識碼會以邏輯方式套用至整個變形裝置。
載入 USBCCGP
在 Windows 8 中,需要 USBCCGP 驅動程式,才能在變形裝置上自動選取 Windows-8-Configuration。
若要載入 USBCCGP 驅動程式,當未在變形裝置上選取任何設定時,變形裝置必須報告下列相容和不相容的標識碼:
- 如果變形裝置使用 IAD 將介面分組為函式,則相容的標識碼應被報告為 “ALTRCFG”,並將次相容標識符報告為 Windows-8-配置的編號。
- 如果變形裝置使用 WCM UFD 將介面分組為函式,則相容的標識碼應報告為 “WMCALTR”,並將子相容標識符報告為 Windows-8-配置的數量。
例如,如果 Windows-8-Configuration 是 Configuration 3,則這兩種情況中的子不相容標識符會是 “3”。
Morphing 兼容標識碼
在 USB 裝置列舉期間,當未在變形裝置上選取任何組態時,USBHUB 會查詢變形裝置以取得相容識別碼。 變形裝置應該傳回用來載入 USBCCGP 的相容和子相容性識別碼,如 MB 身分識別變形解決方案概觀中所述。
在 USBHUB 載入 USBCCGP 之後,USBCCGP 會選擇稍早報告的子相容 ID 所指示的組態。 然後,USBCCGP 會第二次查詢相容和子不相容的標識碼。 此時,變形裝置應該會針對目前選取的組態傳回相容且子不相容的標識碼。 因此,在 USBCCGP 載入並選取特定組態之後,轉換裝置必須改變所報告的相容和次相容識別碼。 變形裝置在選取組態之後,不得報告用來載入 USBCCGP 的相容和子相容性識別碼。
USBHUB 會在列舉期間從裝置查詢Microsoft OS 描述元。
裝置會以未設定的狀態傳回 CompatId。 此 CompatId 用於載入 USBCCGP。
USBCCGP 會選取在子不相容標識符中報告的組態。
裝置會根據新的設定來改變其Microsoft OS 描述元。 USBCCGP 查詢 Microsoft OS 描述元。
裝置不會傳回任何 CompatID。 根據類別/子類別/通訊協定,USBCCGP 會載入USBSTOR和MBCD。