Microsoft 作業系統(OS)ContainerID 描述符可用於支援透過多條系統匯流排同時連接裝置的裝置。 明確定義的 Microsoft OS 容器ID 描述符確保 USB 匯流排上為該裝置枚舉的所有裝置節點(devnodes)都被歸類在同一裝置容器中。
註如果你決定實作 Microsoft OS ContainerID 描述符,描述符值必須在每台裝置上都是唯一的,以避免容器 ID 衝突。
當裝置支援透過多條匯流排同時連接到該裝置時,Microsoft OS ContainerID 描述符非常有用。 如此一來,裝置支援的每條匯流排都會使用相同的容器 ID。 這讓作業系統能判斷每個匯流排上的功能是否屬於同一裝置容器。
如果你決定在 USB 裝置中使用 Microsoft OS ContainerID,你應該注意以下幾點:
對於未整合於電腦中的裝置(即所有外部裝置),最佳做法是始終提供 Microsoft OS 容器ID 描述符及 USB 裝置硬體中的序號。 這將確保 Windows 隨插即用(PnP)基礎結構能夠正確地將裝置公開的所有裝置功能分組。 從 Windows 7 開始,作業系統的元件依賴於適當的裝置功能群組。 遵循此做法將為 Windows 平台上的裝置提供最佳的使用者體驗。
與電腦整合的 USB 裝置絕不應提供 Microsoft OS 容器ID 描述符。 為確保整合裝置正確與電腦的裝置容器分組,整合裝置應依賴 ACPI BIOS 設定,或依賴埠的 USB 集線器描述符 DeviceRemovable 位元。