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 函式數次。 對於具有已連線監視器的子裝置,顯示埠驅動程式會在初始化期間呼叫 DxgkDdiQueryDeviceDescriptor ,以取得監視器 EDID 的前 128 個字節區塊。 之後,監視器類別函式驅動程式 (Monitor.sys) 呼叫 DxgkDdiQueryDeviceDescriptor 來取得選取的部分, (包括相同監視器 EDID 的前 128 個字節區塊) 。
DxgkDdiQueryDeviceDescriptor 應設為可分頁。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平台 | 桌面 |
標頭 | dispmprt.h |
IRQL | PASSIVE_LEVEL |