次の方法で共有


DXGKDDI_QUERY_CHILD_STATUS コールバック関数 (dispmprt.h)

DxgkDdiQueryChildStatus 関数は、ディスプレイ アダプターの個々の子デバイスの状態を返します。

構文

DXGKDDI_QUERY_CHILD_STATUS DxgkddiQueryChildStatus;

NTSTATUS DxgkddiQueryChildStatus(
  [in]      IN_CONST_PVOID MiniportDeviceContext,
  [in, out] INOUT_PDXGK_CHILD_STATUS ChildStatus,
  [in]      IN_BOOLEAN NonDestructiveOnly
)
{...}

パラメーター

[in] MiniportDeviceContext

ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーの DxgkDdiAddDevice 関数は、以前は DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。

[in, out] ChildStatus

DXGK_CHILD_STATUS構造体へのポインター。 呼び出し元は、ChildStatus-Type> と ChildStatus-ChildUid> を提供します。 戻り時に、残りの構造体メンバー (共用体) は要求された状態を受け取ります。

[in] NonDestructiveOnly

表示ミニポート ドライバーが視覚的な成果物を引き起こす方法で要求された状態を判断できるかどうかを指定するブール値。 呼び出し元がこのパラメーターを TRUE に設定した場合、ディスプレイ ミニポート ドライバーは成果物を引き起こすことが許可されていません。 呼び出し元がこのパラメーターを FALSE に設定すると、ディスプレイ ミニポート ドライバーは成果物を引き起こすことが許可されます。

戻り値

DxgkDdiQueryChildStatus は、成功した場合STATUS_SUCCESSを返します。それ以外の場合は、 Ntstatus.h で定義されているエラー コードのいずれかを返します。

注釈

初期化中、ディスプレイ ポート ドライバーは DxgkDdiQueryChildRelations を呼び出して、 MiniportDeviceContext で表されるディスプレイ アダプターの子であるデバイスの一覧を取得します。 次に、 HpdAwarenessPolled または HpdAwarenessInterruptible の HPD 認識値を持つ各子について、表示ポート ドライバーは DxgkDdiQueryChildStatus を呼び出して、子が現在ハードウェア (モニターなど) に接続されているかどうかを判断します。

DxgkDdiQueryChildStatus は、次のアクションを実行する必要があります。

  • ChildStatus->Type が StatusConnection と等しい場合は、ChildStatus->HotPlug.Connected でブール値を返します。 ChildStatus->ChildUid によって識別される子デバイスに外部ハードウェアが接続されている場合は TRUE を返します。それ以外の場合は FALSE を返します
  • ChildStatus->Type が StatusRotation と等しい場合は、ChildStatus->ChildUid によって識別される子デバイスに接続されているディスプレイの回転角度 (ChildStatus->Rotation.Angle) を返します。
DxgkDdiQueryChildStatus をページング可能にする必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista
対象プラットフォーム デスクトップ
Header dispmprt.h
IRQL PASSIVE_LEVEL

こちらもご覧ください

DXGK_CHILD_STATUS

DXGK_CHILD_STATUS_TYPE

DxgkDdiQueryChildRelations