Поделиться через


структура 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)

См. также

D3DKMEscape

D3DKMT_DEBUG_SNAPSHOT_ESCAPE

D3DKMT_DEVICE_ESCAPE

D3DKMT_DMM_ESCAPE

D3DKMT_TDRDBGCTRLTYPE

D3DKMT_VIDMM_ESCAPE

D3DKMT_VIDSCH_ESCAPE