次の方法で共有


WdfDeviceAssignSxWakeSettings 関数 (wdfdevice.h)

[KMDF と UMDF に適用]

WdfDeviceAssignSxWakeSettings メソッドは、デバイスとシステムの両方が低電力状態にある間にスリープ解除信号をトリガーするデバイスの機能に関するドライバー提供の情報を提供します。

構文

NTSTATUS WdfDeviceAssignSxWakeSettings(
  [in] WDFDEVICE                              Device,
  [in] PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Settings
);

パラメーター

[in] Device

フレームワーク デバイス オブジェクトへのハンドル。

[in] Settings

呼び出し元が指定した WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS 構造体へのポインター。

戻り値

操作が成功した場合、 WdfDeviceAssignSxWakeSettings は STATUS_SUCCESSを返します。 その他の戻り値は次のとおりです。

リターン コード 説明
STATUS_INVALID_DEVICE_REQUEST
呼び出し元のドライバーは、デバイスの電源ポリシー所有者ではありません。
STATUS_INVALID_PARAMETER
無効な 設定 値が検出されました。
STATUS_INFO_LENGTH_MISMATCH
WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS構造体のサイズが正しくありません。
STATUS_POWER_STATE_INVALID
バス ドライバーは、デバイスがスリープ解除信号をトリガーできないか、 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS 構造体に無効なデバイスの電源状態が含まれていることを示します。
 

メソッドは、他の NTSTATUS 値を返す場合があります。

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

注釈

詳細については、「 System Wake-Up のサポート」を参照してください。

次のコード例では、WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS構造体を初期化し、 WdfDeviceAssignSxWakeSettings を呼び出します。 この例では、WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT設定する既定 設定を使用します。

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS  wakeSettings;
NTSTATUS  status = STATUS_SUCCESS;

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT(&wakeSettings);

status = WdfDeviceAssignSxWakeSettings(
                                       device,
                                       &wakeSettings
                                       );
if (!NT_SUCCESS(status)) {
    return status;
}

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfdevice.h (Wdf.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf)FDOPowerPolicyOwnerAPI(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)、 NonFDONotPowerPolicyOwnerAPI(kmdf)

こちらもご覧ください

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS

WdfDeviceAssignS0IdleSettings