コールバック関数EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE (udecxusbdevice.h)
USB デバイス エミュレーション クラス拡張機能 (UdeCx) は、仮想 USB 3.0 デバイスの指定されたインターフェイスの関数状態を変更する要求を取得すると、このコールバック関数を呼び出します。
構文
EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE EvtUdecxUsbDeviceSetFunctionSuspendAndWake;
NTSTATUS EvtUdecxUsbDeviceSetFunctionSuspendAndWake(
[in] WDFDEVICE UdecxWdfDevice,
[in] UDECXUSBDEVICE UdecxUsbDevice,
[in] ULONG Interface,
[in] UDECX_USB_DEVICE_FUNCTION_POWER FunctionPower
)
{...}
パラメーター
[in] UdecxWdfDevice
USB デバイスが接続されているコントローラーを表すフレームワーク デバイス オブジェクトへのハンドル。 クライアント ドライバーは、 UdecxWdfDeviceAddUsbDeviceEmulation の以前の呼び出しでこのオブジェクトを初期化しました。
[in] UdecxUsbDevice
UDE デバイス オブジェクトへのハンドル。 クライアント ドライバーは、 UdecxUsbDeviceCreate の以前の呼び出しでこのオブジェクトを作成しました。
[in] Interface
この値は、ウェイクアップしているインターフェイスの bInterfaceNumber です。
[in] FunctionPower
インターフェイス が中断し、スリープ解除シグナルをホスト コントローラーに送信できるかどうかを示すUDECX_USB_DEVICE_FUNCTION_POWER型の値。
戻り値
操作が成功した場合、コールバック関数は STATUS_SUCCESS、または NT_SUCCESS(status) が TRUE に等しい別の状態値を返す必要があります。
注釈
クライアント ドライバーは、その実装への関数ポインターを指定することで 、UdecxUsbDeviceInitSetStateChangeCallbacks の以前の呼び出しで関数を登録しました。
コールバックの実装では、USB デバイスのクライアント ドライバーが動作状態に入る手順を実行する必要があります。
このイベント コールバック関数は、USB 3.0 以降のデバイスに適用されます。 UdeCx は、この関数を呼び出して、特定の関数の電源状態を変更する要求をクライアント ドライバーに通知します。 また、関数が新しい状態から復帰できるかどうかをドライバーに通知します。
電源要求は、STATUS_PENDINGを返し、その後、実際の完了コードで UdecxUsbDeviceSetFunctionSuspendAndWakeComplete を呼び出すことによって、非同期的に完了できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 |
サポートされている最小のサーバー | Windows Server 2016 |
対象プラットフォーム | Windows |
最小 KMDF バージョン | 1.15 |
Header | udecxusbdevice.h (Udecx.h を含む) |
IRQL | <=DISPATCH_LEVEL |