次の方法で共有


WdfDeviceIndicateWakeStatus 関数 (wdfdevice.h)

[KMDF にのみ適用]

WdfDeviceIndicateWakeStatus メソッドは、呼び出し元のバス ドライバーが、指定されたデバイスがバス上でスリープ解除信号をトリガーするまで待機を停止したことをフレームワークに通知します。

構文

NTSTATUS WdfDeviceIndicateWakeStatus(
  [in] WDFDEVICE Device,
  [in] NTSTATUS  WaitWakeStatus
);

パラメーター

[in] Device

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

[in] WaitWakeStatus

NTSTATUS 状態値。 デバイスがウェイク シグナルをトリガーした場合、呼び出し元はこの値を STATUS_SUCCESS に設定するか、 NT_SUCCESS(WaitWakeStatus) が TRUE に等しい別の状態値を設定する必要があります。 デバイスがウェイク シグナルをトリガーしなかった場合、またはエラーが検出された場合、呼び出し元は、NT_SUCCESS(WaitWakeStatus) が FALSE に等しい状態値を指定する必要があります。 詳細については、「解説」を参照してください。

戻り値

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

リターン コード 説明
STATUS_INVALID_PARAMETER
WaitWakeStatus がSTATUS_PENDINGまたはSTATUS_CANCELLED。
STATUS_INVALID_DEVICE_REQUEST
デバイスがスリープ解除信号をトリガーするまで待機するようにドライバー スタックが設定されませんでした。
STATUS_INVALID_DEVICE_STATE
呼び出し元のドライバーは、デバイスがスリープ解除信号をトリガーするのを待機する責任を負いません。
 

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

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

注釈

NT_SUCCESS(WaitWakeStatus) が TRUE の場合、フレームワークはデバイスとシステムを動作状態に復元します。 NT_SUCCESS(WaitWakeStatus) が FALSE の場合、デバイスとシステムは現在の状態のままです。

WdfDeviceIndicateWakeStatus メソッドの呼び出しの詳細については、「System Wake-Up のサポート」を参照してください。

次のコード例では、指定したデバイスがウェイク シグナルをトリガーしたことをフレームワークに通知します。

NTSTATUS  status;

status = WdfDeviceIndicateWakeStatus(
                                     hChild,
                                     STATUS_SUCCESS
                                     );

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
Header wdfdevice.h (Wdf.h を含む)
Library Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)