共用方式為


在 UMDF 1.x 驅動程式中使用 USB 介面

警告

UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的 UMDF 驅動程式都應該使用 UMDF 2 撰寫。 未將新功能新增至 UMDF 1,且較新版本的WINDOWS 10上,UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。

封存的 UMDF 1 範例可在Windows 11 22H2 - 2022 年 5 月驅動程式範例更新中找到。

如需詳細資訊,請參閱使用 UMDF 消費者入門

架構會將每個 USB 介面表示為架構 USB 介面物件。 當 UMDF 驅動程式建立架構 USB 裝置物件時,架構會為每個裝置支援的 USB 介面建立架構 USB 介面物件。

大部分的 USB 裝置只有一個介面,而且介面只有一個替代設定。 這類裝置的驅動程式通常不需要使用架構的 USB 介面物件所定義的物件方法。

如果 UMDF 驅動程式支援提供多個介面或替代設定的 USB 裝置,介面物件方法可讓驅動程式:

取得 UMDF-USB 介面資訊

在 UMDF 驅動程式呼叫 IWDFUsbTargetFactory::CreateUsbTargetDevice 方法來建立 UMDF-USB 目標裝置物件之後,驅動程式可以呼叫 IWDFUsbTargetDevice::GetNumInterfaces 方法來取得裝置支援的 USB 介面數目。 接下來,驅動程式可以呼叫 IWDFUsbTargetDevice::RetrieveUsbInterface 方法,以取得 IWDFUsbInterface 介面的指標,以公開裝置支援的 USB 介面。 然後,驅動程式可以呼叫每個 USB 介面物件所定義的下列方法來取得 USB 介面的相關資訊:

IWDFUsbInterface::GetInterfaceNumber
取得與 USB 介面物件相關聯的 USB 介面編號。

IWDFUsbInterface::GetInterfaceDescriptor
取得與其中一個 USB 介面替代設定相關聯的 USB 介面描述元。

IWDFUsbInterface::GetNumEndPoints
取得與 USB 介面其中一個替代設定相關聯的端點 (也稱為管道) 數目。

IWDFUsbInterface::GetConfiguredSettingIndex
取得索引值,識別目前為 USB 介面選取的替代設定。

IWDFUsbInterface::RetrieveUsbPipeObject
擷取 IWDFUsbTargetPipe 介面的指標,該介面會公開與指定的 USB 裝置介面和管道索引相關聯的架構管道物件。

IWDFUsbInterface::GetWinUsbHandle
取得與 USB 介面相關聯的 WinUsb 介面控制碼。

選取 UMDF-USB 介面的替代設定

UMDF 驅動程式可以呼叫 IWDFUsbInterface::SelectSetting 方法,為裝置支援的其中一個 USB 介面選取替代設定。

裝置的替代設定必須連續編號,從零開始。

重要 選取設定會使介面和端點的任何資訊失效。 因此,驅動程式應該再次取得此資訊。 驅動程式也必須捨棄先前擷取並重新建立的任何 USB 管道物件。