D3DKMT_ESCAPE结构(d3dkmthk.h)
D3DKMT_ESCAPE结构描述与显示微型端口驱动程序交换的信息。
语法
typedef struct _D3DKMT_ESCAPE {
[in] D3DKMT_HANDLE hAdapter;
[in] D3DKMT_HANDLE hDevice;
[in] D3DKMT_ESCAPETYPE Type;
[in] D3DDDI_ESCAPEFLAGS Flags;
[in/out] VOID *pPrivateDriverData;
[in] UINT PrivateDriverDataSize;
[in] D3DKMT_HANDLE hContext;
} D3DKMT_ESCAPE;
成员
[in] hAdapter
交换信息的图形适配器的句柄。
[in] hDevice
如果交换的信息特定于特定设备,则为显示设备的句柄(可选)。
[in] Type
D3DKMT_ESCAPETYPE类型的值,指示要与显示微型端口驱动程序交换信息或控制内核模式组件。 下表显示了可能的值。
值 | 含义 |
---|---|
D3DKMT_ESCAPE_DRIVERPRIVATE (0) | pPrivateDriverData 成员以显示微型端口驱动程序为目标。 硬件供应商定义转义数据的格式。 |
D3DKMT_ESCAPE_VIDMM (1) | 请勿使用。 仅用于测试目的。 OpenGL ICD 控制视频内存管理器(这是 Dxgkrnl.sys的一部分)。 pPrivateDriverData 指向的缓冲区包含支持各种视频内存管理器控制类型的 D3DKMT_VIDMM_ESCAPE 结构。 |
D3DKMT_ESCAPE_TDRDBGCTRL (2) | 请勿使用。 仅用于测试目的。 转义操作允许用户控制操作系统的超时检测和恢复(TDR)进程的行为。 此功能默认处于禁用状态。 若要启用此功能,TdrTestMode = TdrTestMode DWORD 注册表值(存储在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers 键中)必须设置为 1。 PrivateDriverDataSize 成员设置为 sizeof(int)。 pPrivateDriverData 成员设置为具有来自 D3DKMT_TDRDBGCTRLTYPE 枚举类型的值的整数。 |
D3DKMT_ESCAPE_VIDSCH (3) | 请勿使用。 仅用于测试目的。 OpenGL ICD 控制图形处理单元(GPU)计划程序(这是 Dxgkrnl.sys的一部分)。 pPrivateDriverData 指向的缓冲区包含一个 D3DKMT_VIDSCH_ESCAPE 结构,该结构支持抢占控制并暂停或恢复计划程序。 |
D3DKMT_ESCAPE_DEVICE (4) | 请勿使用。 仅用于测试目的。 OpenGL ICD 控制显示设备。 pPrivateDriverData 指向的缓冲区包含一个 D3DKMT_DEVICE_ESCAPE 结构,该结构支持从主分配中获取视频演示源。 |
D3DKMT_ESCAPE_DMM (5) | 请勿使用。 仅用于测试目的。 OpenGL ICD 控制显示模式管理器。 pPrivateDriverData 指向的缓冲区包含 D3DKMT_DMM_ESCAPE 结构。 |
D3DKMT_ESCAPE_DEBUG_SNAPSHOT (6) | 请勿使用。 仅用于测试目的。 OpenGL ICD 检索调试快照缓冲区。 pPrivateDriverData 指向的缓冲区包含 D3DKMT_DEBUG_SNAPSHOT_ESCAPE 结构。 |
D3DKMT_ESCAPE_SETDRIVERUPDATESTATUS (7) | 请勿使用。 仅用于测试目的。 OpenGL ICD 设置显示微型端口驱动程序更新状态。 |
D3DKMT_ESCAPE_DRT_TEST (8) | 请勿使用。 仅用于测试目的。 |
D3DKMT_ESCAPE_DIAGNOSTICS (9) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_OUTPUTDUPL_SNAPSHOT (10) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_OUTPUTDUPL_DIAGNOSTICS (11) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_BDD_PNP (12) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_BDD_FALLBACK (13) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_ACTIVATE_SPECIFIC_DIAG(14) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_MODES_PRUNED_OUT(15) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_WQHL_INFO(16) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_BRIGHTNESS(17) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_EDID_CACHE(18) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_GENERIC_ADAPTER_DIAG_INFO(19) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_MIRACAST_DISPLAY_REQUEST (20) | 请勿使用。 仅用于测试目的。 从Windows 8.1开始支持。 |
D3DKMT_ESCAPE_HISTORY_BUFFER_STATUS (21) | 请勿使用。 仅用于测试目的。 从Windows 8.1开始支持。 |
D3DKMT_ESCAPE_MIRACAST_ADAPTER_DIAG_INFO (23) | 请勿使用。 仅用于测试目的。 从Windows 8.1开始支持。 |
D3DKMT_ESCAPE_WIN32K_START(1024) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_WIN32K_HIP_DEVICE_INFO(1024) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_WIN32K_QUERY_CD_ROTATION_BLOCK (1025) | 请勿使用。 仅用于测试目的。 从 Windows 8 开始支持。 |
D3DKMT_ESCAPE_WIN32K_DPI_INFO (1026) | 请勿使用。 仅用于测试目的。 从Windows 8.1开始支持。 |
D3DKMT_ESCAPE_WIN32K_PRESENTER_VIEW_INFO (1027) | 请勿使用。 仅用于测试目的。 从Windows 8.1开始支持。 |
D3DKMT_ESCAPE_WIN32K_SYSTEM_DPI (1028) | 请勿使用。 仅用于测试目的。 从Windows 8.1开始支持。 |
[in] Flags
一个 D3DDDI_ESCAPEFLAGS 结构,指示在位字段标志中如何共享信息。 OpenGL ICD 应指定 HardwareAccess 位字段标志,以指示显示微型端口驱动程序必须以某种方式访问图形硬件,使操作系统必须执行 第二级别的同步,DxgkDdiEscape 调用的显示微型端口驱动程序。
[in/out] pPrivateDriverData
指向 OpenGL ICD 分配的缓冲区的指针,该缓冲区包含 OpenGL ICD 与显示微型端口驱动程序交换或用于控制内核模式组件的信息。 下表描述了 pPrivateDriverData 指向的缓冲区的内容,具体取决于 类型的值。
类型成员 的 |
pPrivateDriverData 缓冲区 的内容 |
---|---|
D3DKMT_ESCAPE_DRIVERPRIVATE | 特定于驱动程序。 除非 OpenGL ICD 和显示微型端口驱动程序之间存在紧密耦合,否则缓冲区不可用。 |
D3DKMT_ESCAPE_VIDMM | 请勿使用。 仅用于测试目的。 D3DKMT_VIDMM_ESCAPE 结构。 |
D3DKMT_ESCAPE_TDRDBGCTRL | 请勿使用。 仅用于测试目的。 D3DKMT_TDRDBGCTRLTYPE 枚举类型。 |
D3DKMT_ESCAPE_VIDSCH | 请勿使用。 仅用于测试目的。 D3DKMT_VIDSCH_ESCAPE 结构。 |
D3DKMT_ESCAPE_DEVICE | 请勿使用。 仅用于测试目的。 D3DKMT_DEVICE_ESCAPE 结构。 |
D3DKMT_ESCAPE_DMM | 请勿使用。 仅用于测试目的。 D3DKMT_DMM_ESCAPE 结构。 |
D3DKMT_ESCAPE_DEBUG_SNAPSHOT | 请勿使用。 仅用于测试目的。 D3DKMT_DEBUG_SNAPSHOT_ESCAPE 结构。 |
[in] PrivateDriverDataSize
pPrivateDriverData 指向的缓冲区的大小(以字节为单位)。 OpenGL ICD 在调用 D3DKMTEscape 函数时,必须指定缓冲区的大小。
[in] hContext
要交换的信息特定于特定设备上下文时,可以选择指定的上下文句柄。 如果 OpenGL ICD 将 hContext 设置为非 NULL 值,则 ICD 还必须将 hDevice 设置为非 NULL 值,hDevice 必须与拥有上下文的设备相对应。
言论
出于测试目的,OpenGL ICD 可以在调用 D3DKMTEscape 函数中传递指向D3DKMT_ESCAPE结构的指针,以控制视频内存管理器和 GPU 计划程序(属于 Dxgkrnl.sys的一部分)以及操作系统的 TDR 进程的行为。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
标头 | d3dkmthk.h (包括 D3dkmthk.h) |