次の方法で共有


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 値を返す場合があります。

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

備考

詳細については、「システムウェイクアップ をサポートするを参照してください。

次のコード例では、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
ヘッダー wdfdevice.h (Wdf.h を含む)
ライブラリ 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