次の方法で共有


EVT_UDECX_USB_DEVICE_D0_EXIT コールバック関数 (udecxusbdevice.h)

USB デバイス エミュレーション クラス拡張機能 (UdeCx) は、仮想 USB デバイスを低電力状態に送信する要求を取得すると、このコールバック関数を呼び出します。

構文

EVT_UDECX_USB_DEVICE_D0_EXIT EvtUdecxUsbDeviceD0Exit;

NTSTATUS EvtUdecxUsbDeviceD0Exit(
  [in] WDFDEVICE UdecxWdfDevice,
  [in] UDECXUSBDEVICE UdecxUsbDevice,
  [in] UDECX_USB_DEVICE_WAKE_SETTING WakeSetting
)
{...}

パラメーター

[in] UdecxWdfDevice

USB デバイスが接続されているコントローラーを表すフレームワーク デバイス オブジェクトへのハンドル。 クライアント ドライバーは、UdecxWdfDeviceAddUsbDeviceEmulation する前の呼び出しでこのオブジェクトを初期化しました。

[in] UdecxUsbDevice

UDE デバイス オブジェクトへのハンドル。 クライアント ドライバーは、UdecxUsbDeviceCreateへの以前の呼び出しでこのオブジェクトを作成しました。

[in] WakeSetting

USB デバイスのリモート ウェイク機能を示す UDECX_USB_DEVICE_WAKE_SETTING型の値。

戻り値

操作が成功した場合、コールバック関数はSTATUS_SUCCESSを返すか、NT_SUCCESS(status) が TRUE の別の状態値を返す必要があります。

備考

クライアント ドライバーは、UdecxUsbDeviceInitSetStateChangeCallbacks への以前の呼び出しで、その実装への関数ポインターを指定して関数を登録しました。

コールバック実装では、USB デバイスのクライアント ドライバーは、デバイスを低電力状態に送信する手順を実行することが期待されます。 この関数では、ドライバーは、低リンク電源状態、関数の中断、またはその両方からウェイクアップを開始できます。 これを行うには、USB 2.0 デバイスのドライバーは、UdecxUsbDeviceSignalWake メソッドを呼び出す必要があります。 USB 3.0 デバイスでは、UdecxUsbDeviceSignalFunctionWakeを使用する必要があります。

電源要求は、STATUS_PENDINGを返し、後で実際の完了コード UdecxUsbDeviceLinkPowerExitComplete を呼び出すことによって非同期的に完了できます。

必要条件

要件 価値
サポートされる最小クライアント Windows 10
サポートされる最小サーバー Windows Server 2016
ターゲット プラットフォーム ウィンドウズ
最小 KMDF バージョン 1.15
ヘッダー udecxusbdevice.h (Udecx.h を含む)
IRQL <=DISPATCH_LEVEL

関連項目

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

EVT_UDECX_USB_DEVICE_D0_ENTRY

UdecxUsbDeviceLinkPowerExitComplete

UdecxUsbDeviceSignalWake

UDE クライアント ドライバー を作成する