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 |
関連項目
DxgkDdiQueryChildRelations の
DxgkDdiQueryChildStatus を する