WdfUsbTargetDeviceWdmGetConfigurationHandle 函式 (wdfusb.h)
[僅適用於 KMDF]
WdfUsbTargetDeviceWdmGetConfigurationHandle 方法會傳回與指定 USB 裝置目前組態相關聯的USBD_CONFIGURATION_HANDLE類型句柄。
語法
USBD_CONFIGURATION_HANDLE WdfUsbTargetDeviceWdmGetConfigurationHandle(
[in] WDFUSBDEVICE UsbDevice
);
參數
[in] UsbDevice
從先前呼叫 WdfUsbTargetDeviceCreateWithParameters 取得的 USB 裝置物件的句柄。
傳回值
如果驅動程式已選取裝置的設定, WdfUsbTargetDeviceWdmGetConfigurationHandle 會傳回裝置的USBD_CONFIGURATION_HANDLE類型句柄。 否則,方法會傳回 NULL。
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
備註
架構型驅動程式只有在建立包含_URB_SELECT_INTERFACE結構的 URB 時,才需要取得 USBD_CONFIGURATION_HANDLE 型別的句柄。
驅動程式可以在呼叫 WdfUsbTargetDeviceSelectConfig 之後呼叫 WdfUsbTargetDeviceWdmGetConfigurationHandle。 WdfUsbTargetDeviceWdmGetConfigurationHandle 傳回的USBD_CONFIGURATION_HANDLE類型句柄有效,直到驅動程式再次呼叫 WdfUsbTargetDeviceSelectConfig 或刪除 USB 裝置對象為止。 如果驅動程式為 USB 裝置物件提供 EvtCleanupCallback 函式,而且驅動程式在呼叫 WdfUsbTargetDeviceSelectConfig 之前刪除物件,則句柄會再次有效,直到物件的 EvtCleanupCallback 函式傳回為止。
如需 WdfUsbTargetDeviceWdmGetConfigurationHandle 方法和 USB I/O 目標的詳細資訊,請參閱 USB I/O 目標。
範例
下列程式代碼範例會取得指定USB裝置目前設定的句柄。
USBD_CONFIGURATION_HANDLE deviceConfigHdl;
deviceConfigHdl = WdfUsbTargetDeviceWdmGetConfigurationHandle(UsbDevice);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
標頭 | wdfusb.h (包含 Wdfusb.h) |
程式庫 | Wdf01000.sys (請參閱 Framework Library Versioning.) |
IRQL | <=DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate (kmdf) , KmdfIrql (kmdf) , KmdfIrql2 (kmdf) , KmdfIrqlExplicit (kmdf) , UsbKmdfIrql (kmdf) 、 UsbKmdfIrql2 (kmdf) 、UsbKmdfIrqlExplicit (kmdf) |