структура D3DKMT_ESCAPE (d3dkmthk.h)
Структура D3DKMT_ESCAPE описывает сведения, обменяющиеся данными между драйвером отображения в пользовательском режиме (UMD) (или драйвером клиента) и драйвером мини-порта в режиме ядра (KMD).
Синтаксис
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, указывающее на обмен информацией с KMD или управление компонентами режима ядра. В следующей таблице показаны возможные значения.
значение | значение |
---|---|
D3DKMT_ESCAPE_DRIVERPRIVATE (0) | Элемент pPrivateDriverData предназначен для KMD. Поставщик оборудования определяет формат escape-данных. |
D3DKMT_ESCAPE_VIDMM (1) | Не используйте; только для тестирования. Драйвер UMD/client управляет диспетчером памяти видео (VidMm). Буфер, который pPrivateDriverData указывает на структуру D3DKMT_VIDMM_ESCAPE, которая поддерживает различные типы управления VidMm. |
D3DKMT_ESCAPE_TDRDBGCTRL (2) | Не используйте; только для тестирования. Операция escape позволяет пользователю управлять поведением процесса обнаружения и восстановления операционной системы . Эта функция отключена по умолчанию. Чтобы включить эту функцию, значение реестра TdrTestMode = TdrTestMode DWORD, хранящееся в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers, должно иметь значение 1. Элемент PrivateDriverDataSize имеет значение sizeof(int). Элемент pPrivateDriverData имеет целое число со значением из типа перечисления D3DKMT_TDRDBGCTRLTYPE. |
D3DKMT_ESCAPE_VIDSCH (3) | Не используйте; только для тестирования. Драйвер UMD/client управляет планировщиком GPU (который входит в состав Dxgkrnl). Буфер, который pPrivateDriverData указывает на D3DKMT_VIDSCH_ESCAPE структуру, которая поддерживает управление предварительной очисткой и приостановку или возобновление планировщика. |
D3DKMT_ESCAPE_DEVICE (4) | Не используйте; только для тестирования. Драйвер UMD/client управляет устройством отображения. Буфер, который pPrivateDriverData указывает на структуру D3DKMT_DEVICE_ESCAPE, которая поддерживает получение источника видео из основного выделения. |
D3DKMT_ESCAPE_DMM (5) | Не используйте; только для тестирования. Драйвер UMD/client управляет диспетчером режима отображения. Буфер, который pPrivateDriverData указывает на структуру D3DKMT_DMM_ESCAPE. |
D3DKMT_ESCAPE_DEBUG_SNAPSHOT (6) | Не используйте; только для тестирования. Драйвер UMD/client извлекает буфер моментальных снимков отладки. Буфер, который pPrivateDriverData указывает на структуру D3DKMT_DEBUG_SNAPSHOT_ESCAPE. |
D3DKMT_ESCAPE_SETDRIVERUPDATESTATUS (7) | Не используйте; только для тестирования. Драйвер UMD/client задает состояние обновления KMD. |
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, показывающая, как предоставлять доступ к данным в битовом поле. Драйвер UMD/client должен указать флаг HardwareAccess битовое поле, чтобы указать, что KMD должен получить доступ к графическому оборудованию таким образом, чтобы ОС должна выполнять второй уровень синхронизации в KMD для вызова DxgkDdiEscape.
HardwareAccess должно быть равно нулю при использовании виртуализации. Дополнительные сведения см. в паравиртуализации GPU.
[in/out] pPrivateDriverData
Указатель на буфер, который выделяет UMD или драйвер клиента, содержащий известную структуру escape-драйвера. Эта структура содержит сведения о том, что драйвер обменивается с KMD или используется для управления компонентами режима ядра. В следующей таблице описывается содержимое буфера, на который pPrivateDriverData указывает значение Type.
Значение типа | Содержимое буфера pPrivateDriverData |
---|---|
D3DKMT_ESCAPE_DRIVERPRIVATE | Для конкретного драйвера. Буфер недоступен, если не существует жесткой связи между драйвером UMD/client и KMD. |
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. Драйвер UMD/client должен указать размер буфера при вызове функции D3DKMTEscape.
[in] hContext
Дескриптор контекста, который при необходимости указывается, если данные для обмена зависят от определенного контекста устройства. Если драйвер UMD/client задает hContext значением, отличному от NULL, драйвер должен также задать hDevice значением, не допускающим значение NULL, и hDevice должны соответствовать устройству, которому принадлежит контекст.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
заголовка | d3dkmthk.h (include D3dkmthk.h) |