內部裝置的 UWP 裝置應用程式
本主題介紹 UWP 裝置應用程式可以存取內部裝置的方式。 內部裝置 是位於或與計算機機箱整合的裝置。
本主題中提及的一些 API 也可用來存取外部裝置。 本主題特別著重於存取內部裝置。 如需每個 API 的詳細資訊,請參閱 Windows API 參考。
存取內部裝置
UWP app 有三種方式可以存取內部裝置:
推薦? | API | 開發人員 | 是否需要裝置元數據? |
---|---|---|---|
Yes | 裝置案例 API(影像擷取、掃描等) | 所有開發人員 | 否 |
Yes | 裝置通訊協定 API (USB、HID 等) | OEM | 是 (僅適用於內部裝置) |
No | 自定義驅動程式存取 | OEM | 是 |
裝置案例 API
Windows 執行階段 提供數個 API 來存取內建或連結至電腦的常見裝置,例如影像擷取、掃描、列印和使用動作感測器的 API。 由於這些 API 是以特定案例設計,因此稱為 裝置案例 API。 裝置案例 API 可供所有開發人員使用,不需要任何裝置元數據即可使用。 如需案例 API 的詳細資訊,請參閱 整合裝置。
裝置案例 API 所提供的任何存取權僅限於 OEM(或元件供應商,與 OEM 協調運作),而且需要系統容器的裝置元數據。
裝置通訊協定 API
當 OEM/元件供應商需要以案例 API 無法滿足的方式存取內部裝置時,他們可以使用 裝置通訊協定 API。 裝置通訊協定 API 是 Windows 執行階段 API,UWP app 可用來存取 USB 和人類介面裝置(HID)。 每個 API 的存取類型會有所不同。
裝置通訊協定 API | Namespace | 存取類型 |
---|---|---|
USB | Windows.Devices.Usb | 獨占讀取和獨佔寫入 |
藏 | Windows.Devices.HumanInterfaceDevice | 共用讀取和獨佔寫入 |
若要存取僅使用 Microsoft 類別驅動程式的周邊裝置 - 裝置通訊協定 API 最常見的用途 - 不需要裝置元數據。 不過,若要使用這些 API 存取內部裝置,則需要元數據。 存取內部裝置時,必須將裝置元數據中的應用程式指定為系統容器的特殊許可權應用程式。 此需求會限制對 OEM 的內部裝置存取。
如需詳細資訊,請參閱:
自定義驅動程式存取
當 OEM 或 IHV 無法使用裝置通訊協定 API 來存取其(內部或周邊)裝置時,應該先連絡 Microsoft,與 Windows 生態系統小組討論其案例。 在某些情況下,在 Microsoft 核准時,UWP 裝置應用程式可以直接存取自定義驅動程式。
自定義驅動程式存取需要裝置元數據。 若要存取自定義驅動程式,必須將裝置元數據中的應用程式指定為周邊裝置或系統容器的特殊許可權應用程式。 如需自定義驅動程式存取的詳細資訊,請參閱 計算機內部特殊裝置的 UWP 裝置應用程式設計指南。
元件供應商
元件供應商可與 OEM 合作,為其內部裝置開發 UWP 裝置應用程式。 這可能會以幾種方式發生:
元件供應商會開發及散發應用程式:在此情況下,元件供應商擁有、開發及散發存取內部裝置的應用程式和驅動程式。 OEM 擁有裝置元數據。
OEM 會開發並散發應用程式:在此情況下,OEM 會開發和散發應用程式,以存取來自不同元件供應商的一或多個內部裝置。 OEM 最終擁有應用程式開發、應用程式散發和裝置元數據維護。 元件供應商擁有驅動程式。
如需這些工作流程的詳細資訊,請參閱 計算機內部特製化裝置的 UWP 裝置應用程式設計指南。