次の方法で共有


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
対象プラットフォーム Windows
ヘッダー d3dkmthk.h
IRQL <= PASSIVE_LEVEL

こちらもご覧ください

DEVICE_POWER_STATE