共用方式為


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 結構的指標。 呼叫端會初始化 DescriptorLengthDescriptorBuffer 成員。 如果子裝置的類型為 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 函式數次。 對於具有已連線監視器的子裝置,顯示埠驅動程式會在初始化期間呼叫 DxgkDdiQueryDeviceDescriptor ,以取得監視器 EDID 的前 128 個字節區塊。 之後,監視器類別函式驅動程式 (Monitor.sys) 呼叫 DxgkDdiQueryDeviceDescriptor 來取得選取的部分, (包括相同監視器 EDID 的前 128 個字節區塊) 。

DxgkDdiQueryDeviceDescriptor 應設為可分頁。

規格需求

需求
最低支援的用戶端 Windows Vista
目標平台 桌面
標頭 dispmprt.h
IRQL PASSIVE_LEVEL

另請參閱

DXGK_CHILD_DESCRIPTOR

DXGK_DEVICE_DESCRIPTOR

DxgkDdiQueryChildRelations

DxgkDdiQueryChildStatus