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(status) 等於 TRUE 的另一個狀態值。 否則,它必須傳回狀態值,NT_SUCCESS(status) 等於 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;
}
要求
要求 | 價值 |
---|---|
目標平臺 | 窗戶 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
標頭 | usbfnattach.h |
IRQL | PASSIVE_LEVEL |