Windows.Devices.Usb 命名空間

此命名空間會定義 UWP app 可用來與WinUSB裝置通訊的Windows 執行階段類別。 這些裝置是由收件匣 winusb.sys 驅動程式處理,並由特定 Microsoft OS 描述元識別。

有效的 WinUSB 裝置將具有相容的識別碼 USB\MS_COMP_WINUSB

SuperMUTT WinUSB 裝置裝置管理員相容識別碼

裝置支援

此命名空間支援大部分的 WinUSB 裝置。 不過,它不提供下列裝置類別的 USB 裝置存取權:

  • 音訊 (0x01)
  • HID () 0x03
  • 影像 (0x06)
  • 印表機 (0x07)
  • 大型儲存體 (0x08)
  • 智慧卡 (0x0B)
  • 音訊/視訊 (0x10)
  • 無線控制器 (0xE0)

USB 裝置功能

存取 USB 裝置的 UWP 應用程式必須在其資訊清單的功能節點中包含特定裝置功能資料。 此資料會識別裝置及其用途 (或函式) 。 請注意,某些裝置可能會有多個功能。

自 Windows 10 版本 1809 (2018 年 10 月更新)

<DeviceCapability Name="usb"/>

Windows 10 版本 1809 (2018 年 10 月更新) 之前

自 1809 起,VendorId/ProductId函式類型不再需要指定,而且會在較新的系統上忽略。 如果以低於 1809 的系統為目標,請參閱 舊版 USB 裝置功能

疑難排解

  • 確認 USB 功能 (usb) 位於應用程式資訊清單中。
  • 確認使用者已授與應用程式使用 USB 裝置的許可權。
  • 驗證裝置類型不是指定為無法存取的裝置類型。
  • 除非在具有內嵌模式lowLevelDevices 功能的 SKU 上執行,否則機器內部裝置 DEVPKEY_Device_InLocalMachineContainer == TRUE () 通常無法存取。
  • 具有包含上/下層篩選驅動程式之堆疊的裝置通常 無法 存取。 這些有時會由協力廠商新增,以啟用 自訂硬體的額外功能。
    • 裝置限制部分取決於 winusb.sys 裝置列舉期間,可能會根據裝置/類別篩選準則,將 WinUSB 裝置介面上的裝置介面 GUID_DEVINTERFACE_WINUSB_WINRT 屬性 DEVPKEY_DeviceInterface_RestrictedTRUE 設定為 。
    • 尋找 和 LowerFilters 屬性,即可使用 DeviceManager UpperFilters 判斷裝置UpperFilter/LowerFilter驅動程式是否存在。
    • 尋找 和 Class lower filters 屬性,即可使用 DeviceManager Class upper filters 判斷 WinUSB 類別UpperFilter/LowerFilter驅動程式的存在。
    • 呼叫 ,即可檢查 CM_Get_Device_Interface_Property 裝置介面屬性,其中 pszDeviceInterface 與 傳遞至 FromIdAsync的字串相同。
  • 使用驅動程式開發人員建立硬體支援應用程式,即可略過這些限制

類別

UsbBulkInEndpointDescriptor

USB 大量 IN 端點的端點描述項。 描述項會在單一傳輸中指定端點類型、方向、數位,以及可從端點讀取的最大位元組數目。

UsbBulkInPipe

表示基礎 USB 驅動程式開啟以與裝置的 USB 大量 IN 端點通訊的管道。 應用程式可以從管道取得輸入資料流程,並從端點讀取存取資料。

UsbBulkOutEndpointDescriptor

USB 大量 OUT 端點的端點描述項。 描述項會指定端點類型、方向、數位,以及可在單一傳輸中寫入端點的最大位元組數目。

UsbBulkOutPipe

表示基礎 USB 驅動程式開啟以與裝置的 USB 大量 OUT 端點通訊的管道。 物件提供輸出資料流程的存取權,讓應用程式可以寫入資料以傳送至端點。

UsbConfiguration

提供 USB 組態、其描述項和該組態內定義的介面的相關資訊。 如需 USB 設定的說明,請參閱通用序列匯流排 (USB) 規格中的第 9.6.3 節。

UsbConfigurationDescriptor

從 USB 組態描述元的前 9 個位元組衍生資訊。 當設定為使用中,以及該組態中包含的介面數目時,此資訊包括裝置的電源功能。 如需組態描述元的說明,請參閱第 9.6.3 節通用序列匯流排規格。 如需描述項欄位的相關資訊,請參閱:

  • 通用序列匯流排 3.0 規格中的表 9.15
  • 通用序列匯流排規格中的表 9.10 (2.0 版)
UsbControlRequestType

提供 USB 控制項傳輸、控制要求類型、資料是從主機傳送還是傳送到主機,以及裝置中要求收件者的相關資訊。

UsbDescriptor

提供描述項類型的相關資訊、其大小 (位元組) ,以及取得描述項資料。

UsbDevice

代表 USB 裝置。 物件提供方法與屬性,讓應用程式可用來列舉 WinUSB 裝置,以及傳送 IN 和 OUT 控制傳輸。

UsbDeviceClass

提供一種方式,讓應用程式藉由指定類別程式碼、子類別程式碼和裝置所定義的通訊協定程式碼,取得 AQS) 字串 (進階查詢語法。 這個類別中的屬性會傳入 GetDeviceClassSelector的呼叫中。

UsbDeviceClasses

提供一種方式,讓您根據裝置的 USB 裝置類別擷取 UsbDeviceClass 物件。 此類別中定義的屬性代表支援的 USB 裝置類別,並傳回 UsbDeviceClass 物件。

如需 USB 裝置類別的相關資訊,請參閱 核准類別規格檔的官方 USB 網站。

UsbDeviceDescriptor

從裝置的 USB 裝置描述項衍生資訊。 如需裝置描述元的說明,請參閱通用序列匯流排規格中的表格 9.8。

UsbEndpointDescriptor

從端點的 USB 端點描述項衍生資訊,例如類型、方向和端點編號。 此物件也會根據端點類型取得特定的端點描述項。 如需端點描述元的說明,請參閱通用序列匯流排規格中的第 9.6.5 節:

  • 通用序列匯流排 3.0 規格中的表 9.18
  • 通用序列匯流排規格中的表 9.13 (2.0 版)
UsbInterface

提供 USB 介面的相關資訊,包括其端點、介面支援的替代設定數目,以及取得這些設定的整個描述項集。 它也會取得與介面所支援端點相關聯的管道。

UsbInterfaceDescriptor

描述介面描述項中介面) 的 USB 替代設定 (。 如需介面描述元的說明,請參閱通用序列匯流排規格中的第 9.6.5 節:

  • 通用序列匯流排 3.0 規格中的表 9.15
  • 通用序列匯流排規格中的表 9.12 (2.0 版)
UsbInterfaceSetting

提供替代設定的相關資訊,並選取該設定。 應用程式可以取得設定及其端點的 USB 介面描述項,並判斷此設定目前是否已選取。

UsbInterruptInEndpointDescriptor

USB 中斷 IN 端點的端點描述項。 描述項會在單一傳輸中指定端點類型、方向、數位,以及可從端點讀取的最大位元組數目。 應用程式也可以取得主機輪詢端點以取得資料的頻率相關資訊。

UsbInterruptInEventArgs

表示當做參數傳遞至 DataReceived 事件的事件處理常式的物件。

UsbInterruptInPipe

表示基礎 USB 驅動程式開啟以與裝置的 USB 中斷 IN 端點通訊的管道。 物件也可讓應用程式指定事件處理常式。 從端點讀取資料時所叫用的處理常式。

UsbInterruptOutEndpointDescriptor

USB 中斷 OUT 端點的端點描述項。 描述項會指定端點類型、方向、數位,以及可在單一傳輸中寫入端點的最大位元組數目。 應用程式也可以取得主機輪詢端點以傳送資料的頻率相關資訊。

UsbInterruptOutPipe

表示基礎 USB 驅動程式開啟以與裝置的 USB 中斷 OUT 端點通訊的管道。 物件提供輸出資料流程的存取權,讓應用程式可以寫入資料以傳送至端點。

UsbSetupPacket

描述 USB 控制傳輸的設定封包。 如需安裝封包的說明,請參閱通用序列匯流排 (USB) 規格中的表格 9.2。

列舉

UsbControlRecipient

定義常數,指出 USB 控制項傳輸的收件者。 收件者定義于控制要求的安裝封包中。 請參閱通用序列匯流排 (USB) 規格 (www.usb.org) 9.3 一節的表格 9.2。

UsbControlTransferType

定義常數,指出 USB 控制項傳輸的類型:標準、類別或廠商。

UsbEndpointType

定義常數,指出 USB 端點的類型:控制、大量、不時或中斷。

UsbReadOptions

定義組態旗標的常數,這些旗標可以針對主機針對 USB 大量 IN 端點開啟的 USB 管道進行設定。

UsbTransferDirection

定義常數,指出 USB 傳輸的方向:IN 或 OUT 傳輸。

UsbWriteOptions

定義組態旗標的常數,這些旗標可以針對主機針對 USB OUT 端點開啟的 USB 管道進行設定。

另請參閱