次の方法で共有


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

DxgkDdiQueryDeviceDescriptor 関数は、ディスプレイ アダプターの子デバイスまたはディスプレイ アダプターの子デバイスに接続されている外部デバイス (通常はモニター) の記述子を返します。

構文

DXGKDDI_QUERY_DEVICE_DESCRIPTOR DxgkddiQueryDeviceDescriptor;

NTSTATUS DxgkddiQueryDeviceDescriptor(
  [in]      IN_CONST_PVOID MiniportDeviceContext,
  [in]      IN_ULONG ChildUid,
  [in, out] INOUT_PDXGK_DEVICE_DESCRIPTOR DeviceDescriptor
)
{...}

パラメーター

[in] MiniportDeviceContext

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

[in] ChildUid

子デバイスを一意に識別する整数。 ディスプレイ ミニポート ドライバーの DxgkDdiQueryChildRelations 関数は、以前にこの識別子を表示ポート ドライバーに提供しました。

[in, out] DeviceDescriptor

DXGK_DEVICE_DESCRIPTOR構造体へのポインター。 呼び出し元は 、DescriptorLength メンバーと DescriptorBuffer メンバーを 初期化します。 子デバイスに TypeVideoOutput 型がある場合、呼び出し元は DescriptorOffset メンバーも初期化します。 戻り時に、 DescriptorBuffer メンバーが指す呼び出し元によって割り当てられたバッファーが記述子を受け取ります。

戻り値

DxgkDdiQueryDeviceDescriptor は、次のいずれかの値を返します。

リターン コード 説明
STATUS_SUCCESS 関数は、デバイス記述子を正常に返しました。
STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED ChildUid によって識別される (オンボード) 子デバイスは、記述子をサポートしていません。
STATUS_MONITOR_NO_DESCRIPTOR ChildUid によって識別される子デバイスは、EDID 記述子をサポートしていないモニターに接続されています。
STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA ChildUid によって識別される子デバイスは、EDID 記述子をサポートするモニターに接続されていますが、記述子には DeviceDescriptor の DescriptorOffset および DescriptorLengthmembers で指定された EDID 拡張ブロックがありません。

注釈

DxgkDdiQueryDeviceDescriptor では、DeviceDescriptor-DescriptorLength> で指定されたバイト数を超える値を書き込む必要があります。

ChildUid によって識別される子デバイスに TypeVideoOutput の種類がある場合、DxgkDdiQueryDeviceDescriptor は、出力に接続されているモニターの拡張表示識別データ (EDID) の一部を返します。 DeviceDescriptor-DescriptorOffset> は、返されるデータの先頭の EDID へのバイト オフセットを指定します。

ChildUid によって識別される子デバイスがビデオ出力でない場合、DxgkDdiQueryDeviceDescriptor は汎用デバイス記述子を返します。つまり、DXGK_GENERIC_DESCRIPTOR構造体のメンバーを入力します。

DxgkDdiQueryDeviceDescriptor 関数は、1 つの子デバイスに対して複数回呼び出すことができます。 モニターが接続されている子デバイスの場合、ディスプレイ ポート ドライバーは、初期化中 に DxgkDdiQueryDeviceDescriptor を呼び出して、モニターの EDID の最初の 128 バイト ブロックを取得します。 その後、モニター クラス関数ドライバー (Monitor.sys) は DxgkDdiQueryDeviceDescriptor を呼び出して、同じモニターの EDID の選択された部分 (最初の 128 バイト ブロックを含む) を取得します。

DxgkDdiQueryDeviceDescriptor をページング可能にする必要があります。

要件

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

こちらもご覧ください

DXGK_CHILD_DESCRIPTOR

DXGK_DEVICE_DESCRIPTOR

DxgkDdiQueryChildRelations

DxgkDdiQueryChildStatus