USBFN_SET_DEVICE_STATE回呼函式 (usbfnattach.h)
篩選驅動程序的實作,可設定裝置狀態和操作總線速度。
語法
USBFN_SET_DEVICE_STATE UsbfnSetDeviceState;
NTSTATUS UsbfnSetDeviceState(
[in] PVOID Context,
[in] USBFN_DEVICE_STATE DeviceState,
[in] USBFN_BUS_SPEED BusSpeed
)
{...}
參數
[in] Context
驅動程式定義內容的指標。
[in] DeviceState
指出裝置狀態 的USBFN_DEVICE_STATE型別旗標。
[in] BusSpeed
指出公交車速度 的USBFN_BUS_SPEED型別旗標。
傳回值
如果作業成功,回呼函式必須傳回STATUS_SUCCESS,或NT_SUCCESS (状态) 等於 TRUE 的另一個狀態值。 否則,它必須傳回狀態值,NT_SUCCESS (状态) 等於 FALSE。
備註
若要支持連結和中斷連結偵測,USB 較低篩選器驅動程式必須發佈其支援。 在發佈程式期間,驅動程式也會註冊此回呼函式的實作。 如需詳細資訊,請參閱 USB篩選驅動程式以支援專屬的電池。
如果較低的篩選驅動程式需要通知裝置狀態變更,才能在連接至主機時正確設定充電,或在必須停用透過USB充電的實驗室案例中,較低篩選驅動程式可能會實作 USBFN_SET_DEVICE_STATE 甚至回呼函式。
範例
NTSTATUS
UsbLowerFilter_SetDeviceState(
_In_ PVOID Context,
_In_ USBFN_DEVICE_STATE DeviceState,
_In_ USBFN_BUS_SPEED BusSpeed
)
{
PPDCP_CONTEXT PdcpContext = NULL;
PAGED_CODE();
// Get our context
PdcpContext = DeviceGetUsbLowerFilterContext((WDFDEVICE)Context);
PdcpContext->CurrentDeviceState = DeviceState;
PdcpContext->BusSpeed = BusSpeed;
return STATUS_SUCCESS;
}
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
最小 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | usbfnattach.h |
IRQL | PASSIVE_LEVEL |