次の方法で共有


PDXGK_POWER_NOTIFICATION コールバック関数 (d3dkmthk.h)

グラフィックス デバイスがデバイスの電源状態遷移を受けるという通知を提供するコールバック。

構文

PDXGK_POWER_NOTIFICATION PdxgkPowerNotification;

void PdxgkPowerNotification(
  PVOID GraphicsDeviceHandle,
  DEVICE_POWER_STATE NewGrfxPowerState,
  BOOLEAN PreNotification,
  PVOID PrivateHandle
)
{...}

パラメーター

GraphicsDeviceHandle

グラフィックス デバイスへのコールバックを行うときに指定する必要がある不透明なハンドル。

NewGrfxPowerState

設定中の新しいグラフィックス電源状態を示す DEVICE_POWER_STATE 値。

PreNotification

通知を指定する必要があるかどうかを示すブール値。

PrivateHandle

任意のコールバックで提供される不透明なハンドル。 このハンドルはグローバルに一意である必要があるため、呼び出し元のドライバーの PDO または FDO へのポインターを使用する必要があります。

戻り値

何一つ

備考

このコールバックは、PASSIVE_LEVELで行われます。 ドライバーは、新しい電源状態が PowerDeviceD3 の場合にのみ、操作のサービスを完了するためにブロックできます。 この場合、呼び出しは、デバイス全体の電源状態遷移の完了をブロックし、電源ウォッチドッグのバグ チェックの原因となる可能性があるため、タイムリーに完了する必要があります。 新しい状態が PowerDeviceD0 の場合、ドライバーはブロックしないでください。 PowerDeviceD3 に入ると、"pre" と "post" の両方の通知が提供されます。移行が暫定的に取り消されないと仮定します。 PowerDeviceD0 に入ると、"投稿" 通知のみが提供されます。 必要に応じて、このコールバック ハンドラーで SetSharedPowerComponentStateCb グラフィックス コールバックを呼び出すことを許可します。このハンドラーからグラフィックス カーネルへの他のコールバックは許可されません。

大事な

最初のグラフィックスの電源状態は IOCTL 出力で提供されますが、登録の実行中にグラフィックス デバイスが電源状態遷移を受ける可能性があるため、IOCTL 呼び出しと元の状態の解析を中心にミューテックスを取得し、このコールバック関数で同じミューテックスを取得する必要があります。 そうすることで、状態が遷移する場合、コールバックは最新の状態情報を提供します。

必要条件

要件 価値
サポートされる最小クライアント Windows 8
サポートされる最小サーバー Windows Server 2012
ターゲット プラットフォーム ウィンドウズ
ヘッダー d3dkmthk.h
IRQL <= PASSIVE_LEVEL

関連項目

DEVICE_POWER_STATE