次の方法で共有


コールバック関数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

こちらもご覧ください

アーキテクチャ:USB デバイス エミュレーション (UDE)

UDE クライアント ドライバーを記述する