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) 进程的行为。
默认情况下,此功能处于禁用状态。 若要启用此功能,必须将存储在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers 项中的 TdrTestMode = TdrTestMode DWORD 注册表值设置为 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 指向的缓冲区的内容,具体取决于 Type 的值。

类型成员的值 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)

另请参阅

D3DKMTEscape

D3DKMT_DEBUG_SNAPSHOT_ESCAPE

D3DKMT_DEVICE_ESCAPE

D3DKMT_DMM_ESCAPE

D3DKMT_TDRDBGCTRLTYPE

D3DKMT_VIDMM_ESCAPE

D3DKMT_VIDSCH_ESCAPE