D3DKMT_ESCAPE structure (d3dkmthk.h)
The D3DKMT_ESCAPE structure describes information that is exchanged with the display miniport driver.
Syntax
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;
Members
[in] hAdapter
A handle to the graphics adapter that information is exchanged on.
[in] hDevice
A handle to a display device that is optionally specified if the information to be exchanged is specific to a particular device.
[in] Type
A value of type D3DKMT_ESCAPETYPE that indicates either to exchange information with the display miniport driver or to control kernel-mode components. The following table shows the possible values.
Value | Meaning |
---|---|
D3DKMT_ESCAPE_DRIVERPRIVATE (0) | The pPrivateDriverData member is targeted at the display miniport driver. The hardware vendor defines the format of the escape data. |
D3DKMT_ESCAPE_VIDMM (1) | Do not use. For testing purposes only. The OpenGL ICD controls the video memory manager (which is part of Dxgkrnl.sys). The buffer that pPrivateDriverData points to contains a D3DKMT_VIDMM_ESCAPE structure that supports various types of control of the video memory manager. |
D3DKMT_ESCAPE_TDRDBGCTRL (2) | Do not use. For testing purposes only. The escape operation lets the user control the behavior of the operating system's Timeout Detection and Recovery (TDR) process. This functionality is disabled by default. To enable this functionality, the TdrTestMode = TdrTestMode DWORD registry value, which is stored in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers key, must be set to 1. The PrivateDriverDataSize member is set to sizeof(int). The pPrivateDriverData member is set to an integer with a value from the D3DKMT_TDRDBGCTRLTYPE enumeration type. |
D3DKMT_ESCAPE_VIDSCH (3) | Do not use. For testing purposes only. The OpenGL ICD controls the graphics processing unit (GPU) scheduler (which is part of Dxgkrnl.sys). The buffer that pPrivateDriverData points to contains a D3DKMT_VIDSCH_ESCAPE structure that supports preemption control and suspending or resuming the scheduler. |
D3DKMT_ESCAPE_DEVICE (4) | Do not use. For testing purposes only. The OpenGL ICD controls the display device. The buffer that pPrivateDriverData points to contains a D3DKMT_DEVICE_ESCAPE structure that supports obtaining the video present source from the primary allocation. |
D3DKMT_ESCAPE_DMM (5) | Do not use. For testing purposes only. The OpenGL ICD controls the display mode manager. The buffer that pPrivateDriverData points to contains a D3DKMT_DMM_ESCAPE structure. |
D3DKMT_ESCAPE_DEBUG_SNAPSHOT (6) | Do not use. For testing purposes only. The OpenGL ICD retrieves a debug snapshot buffer. The buffer that pPrivateDriverData points to contains a D3DKMT_DEBUG_SNAPSHOT_ESCAPE structure. |
D3DKMT_ESCAPE_SETDRIVERUPDATESTATUS (7) | Do not use. For testing purposes only. The OpenGL ICD sets the display miniport driver update status. |
D3DKMT_ESCAPE_DRT_TEST (8) | Do not use. For testing purposes only. |
D3DKMT_ESCAPE_DIAGNOSTICS (9) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_OUTPUTDUPL_SNAPSHOT (10) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_OUTPUTDUPL_DIAGNOSTICS (11) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_BDD_PNP (12) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_BDD_FALLBACK (13) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_ACTIVATE_SPECIFIC_DIAG(14) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_MODES_PRUNED_OUT(15) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_WQHL_INFO(16) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_BRIGHTNESS(17) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_EDID_CACHE(18) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_GENERIC_ADAPTER_DIAG_INFO(19) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_MIRACAST_DISPLAY_REQUEST (20) | Do not use. For testing purposes only. Supported starting with Windows 8.1. |
D3DKMT_ESCAPE_HISTORY_BUFFER_STATUS (21) | Do not use. For testing purposes only. Supported starting with Windows 8.1. |
D3DKMT_ESCAPE_MIRACAST_ADAPTER_DIAG_INFO (23) | Do not use. For testing purposes only. Supported starting with Windows 8.1. |
D3DKMT_ESCAPE_WIN32K_START(1024) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_WIN32K_HIP_DEVICE_INFO(1024) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_WIN32K_QUERY_CD_ROTATION_BLOCK (1025) | Do not use. For testing purposes only. Supported starting with Windows 8. |
D3DKMT_ESCAPE_WIN32K_DPI_INFO (1026) | Do not use. For testing purposes only. Supported starting with Windows 8.1. |
D3DKMT_ESCAPE_WIN32K_PRESENTER_VIEW_INFO (1027) | Do not use. For testing purposes only. Supported starting with Windows 8.1. |
D3DKMT_ESCAPE_WIN32K_SYSTEM_DPI (1028) | Do not use. For testing purposes only. Supported starting with Windows 8.1. |
[in] Flags
A D3DDDI_ESCAPEFLAGS structure that indicates, in bit-field flags, how to share information. The OpenGL ICD should specify the HardwareAccess bit-field flag to indicate that the display miniport driver must access graphics hardware in such a way that the operating system must perform the second level of synchronization into the display miniport driver for the DxgkDdiEscape call.
[in/out] pPrivateDriverData
A pointer to a buffer that the OpenGL ICD allocates that contains information that the OpenGL ICD either exchanges with the display miniport driver or uses to control kernel-mode components. The following table describes the content of the buffer that pPrivateDriverData points to, depending on the value of Type.
Value of the Type member | Content of the pPrivateDriverData buffer |
---|---|
D3DKMT_ESCAPE_DRIVERPRIVATE | Driver-specific. The buffer is not usable unless a tight coupling exists between the OpenGL ICD and the display miniport driver. |
D3DKMT_ESCAPE_VIDMM | Do not use. For testing purposes only. A D3DKMT_VIDMM_ESCAPE structure. |
D3DKMT_ESCAPE_TDRDBGCTRL | Do not use. For testing purposes only. A D3DKMT_TDRDBGCTRLTYPE enumeration type. |
D3DKMT_ESCAPE_VIDSCH | Do not use. For testing purposes only. A D3DKMT_VIDSCH_ESCAPE structure. |
D3DKMT_ESCAPE_DEVICE | Do not use. For testing purposes only. A D3DKMT_DEVICE_ESCAPE structure. |
D3DKMT_ESCAPE_DMM | Do not use. For testing purposes only. A D3DKMT_DMM_ESCAPE structure. |
D3DKMT_ESCAPE_DEBUG_SNAPSHOT | Do not use. For testing purposes only. A D3DKMT_DEBUG_SNAPSHOT_ESCAPE structure. |
[in] PrivateDriverDataSize
The size, in bytes, of the buffer that pPrivateDriverData points to. The OpenGL ICD must specify the size of the buffer when it calls the D3DKMTEscape function.
[in] hContext
A handle to a context that is optionally specified if the information to be exchanged is specific to a particular device context. If the OpenGL ICD sets hContext to a non-NULL value, the ICD must have also set hDevice to a non-NULL value, and hDevice must correspond to the device that owns the context.
Remarks
For testing purposes, the OpenGL ICD can pass a pointer to a D3DKMT_ESCAPE structure in a call to the D3DKMTEscape function to control the video memory manager and GPU scheduler (which are part of Dxgkrnl.sys) and the behavior of the operating system's TDR process.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista |
Header | d3dkmthk.h (include D3dkmthk.h) |