структура 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 предназначен для драйвера мини-порта дисплея. Поставщик оборудования определяет формат escape-данных.
D3DKMT_ESCAPE_VIDMM (1) Не используйте. Только для тестирования. OpenGL ICD управляет диспетчером видеопамять (который является частью Dxgkrnl.sys). Буфер, на который указывает pPrivateDriverData, содержит D3DKMT_VIDMM_ESCAPE структуру, которая поддерживает различные типы управления диспетчером видеопамяти.
D3DKMT_ESCAPE_TDRDBGCTRL (2) Не используйте. Только для тестирования. Escape-операция позволяет пользователю управлять поведением процесса обнаружения и восстановления времени ожидания (TDR) операционной системы.
Эта функция отключена по умолчанию. Чтобы включить эту функцию, значение реестра DWORD TdrTestMode = TdrTestMode, которое хранится в разделе 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 извлекает буфер snapshot отладки. Буфер, на который указывает 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.

Значение элемента 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 может передать указатель на структуру D3DKMT_ESCAPE в вызове функции D3DKMTEscape для управления диспетчером видеопамяти и планировщиком 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