次の方法で共有


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
ターゲット プラットフォーム デスクトップ
ヘッダー dispmprt.h
IRQL PASSIVE_LEVEL

関連項目

DXGK_CHILD_DESCRIPTOR

DXGK_DEVICE_DESCRIPTOR

DxgkDdiQueryChildRelations

DxgkDdiQueryChildStatus する