структура D3DDDI_ESCAPEFLAGS (d3dukmdt.h)

Структура D3DDDI_ESCAPEFLAGS определяет, как драйвер дисплея пользовательского режима предоставляет сведения драйверу мини-порта дисплея.

Синтаксис

typedef struct _D3DDDI_ESCAPEFLAGS {
  union {
    struct {
      UINT HardwareAccess : 1;
      UINT DeviceStatusQuery : 1;
      UINT ChangeFrameLatency : 1;
      UINT NoAdapterSynchronization : 1;
#if ...
      UINT Reserved : 1;
      UINT VirtualMachineData : 1;
      UINT DriverKnownEscape : 1;
      UINT DriverCommonEscape : 1;
#if ...
      UINT Reserved2 : 24;
#else
      UINT Reserved2 : 26;
#endif
#elif
      UINT Reserved : 28;
#elif
      UINT Reserved : 29;
#else
      UINT Reserved : 31;
#endif
    };
    UINT Value;
  };
} D3DDDI_ESCAPEFLAGS;

Члены

HardwareAccess

Значение UINT , указывающее, выполняет ли операционная система второй уровень синхронизации с драйвером мини-порта дисплея для вызова DxgkDdiEscape . Если драйверу требуется второй уровень синхронизации, а флаг HardwareAccess не установлен, вызов функции DxgkDdiEscape драйвера должен завершиться ошибкой.

Начиная с Windows 8.1, если этот элемент задан, DeviceStatusQuery и ChangeFrameLatency должны иметь нулевое значение.

Задание этого элемента эквивалентно установке первого бита 32-разрядного элемента Value (0x00000001).

DeviceStatusQuery

Если задано значение , при вызове функции pfnEscapeCb и D3DDDICB_ESCAPE. Член PrivateDriverDataSizesizeof(D3DDDI_EXECUTIONSTATEESCAPE), среда выполнения Direct3D интерпретирует D3DDDICB_ESCAPE.Элемент pPrivateDriverData в качестве указателя на буфер, содержащий структуру D3DDDI_EXECUTIONSTATEESCAPE . Кроме того, среда выполнения обрабатывает pfnEscapeCb как запрос состояния, записывая запрошенные сведения в предоставленный буфер вместо отправки вызова DxgkDdiEscape драйверу мини-порта дисплея.

Если этот элемент задан, hardwareAccess и ChangeFrameLatency должны иметь нулевое значение.

Поддерживается начиная с Windows 8.1.

Операционная система игнорирует этот элемент, если он находится до Windows 8.1 или драйвер пользовательского режима был инициализирован с помощью вызова OpenAdapterXxx, где элемент pOpenData-Interface> указывает Direct3D версии 8 или более ранней.

Задание этого элемента эквивалентно установке второго бита 32-разрядного элемента Value (0x00000002).

ChangeFrameLatency

Если задано значение , при вызове функции pfnEscapeCbD3DDDICB_ESCAPE. Член PrivateDriverDataSize — и sizeof(D3DDDI_FRAMELATENCYESCAPE) условия в примечаниях также выполняются. Среда выполнения Direct3D интерпретирует D3DDDICB_ESCAPE.Элемент pPrivateDriverData в качестве указателя на буфер, содержащий структуру D3DDDI_FRAMELATENCYESCAPE . Кроме того, среда выполнения обрабатывает pfnEscapeCb как запрос на изменение максимальной задержки кадра подсистемы графического ядра DirectX путем записи запрошенных сведений в предоставленный буфер вместо отправки вызова DxgkDdiEscape драйверу мини-порта дисплея.

Если этот элемент задан, значение HardwareAccess и DeviceStatusQuery должно быть равно нулю.

Поддерживается начиная с Windows 8.1.

Операционная система игнорирует этот элемент, если он находится до Windows 8.1 или драйвер пользовательского режима был инициализирован с помощью вызова OpenAdapterXxx, где элемент pOpenData-Interface> указывает Direct3D версии 8 или более ранней.

Задание этого элемента эквивалентно установке третьего бита 32-разрядного элемента Value (0x00000004).

NoAdapterSynchronization

Reserved

Этот элемент зарезервирован и должен иметь нулевое значение. Установка для этого элемента нулевого значения эквивалентна установке оставшихся 29 бит (0xFFFFFFF8) 32-разрядного элемента Value равными нулям.

Этот элемент зарезервирован и должен иметь нулевое значение. Установка для этого элемента нулевого значения эквивалентна установке оставшихся 31 бит (0xFFFFFFFE) 32-разрядного элемента Value равными нулям.

VirtualMachineData

Указывает, что DxgkDdiEscape вызывается из виртуальной машины.

DriverKnownEscape

Частные данные драйвера указывают на хорошо известную структуру.

DriverCommonEscape

Определенная структура среды выполнения частных точек данных.

Reserved2

Этот элемент зарезервирован и должен иметь нулевое значение.

Value

Член объединения, содержащийся в D3DDDI_ESCAPEFLAGS, который может содержать одно 32-разрядное значение, определяющее способ совместного использования информации.

Комментарии

Если параметр ChangeFrameLatency задан, вызов pfnEscapeCb будет выполнен успешно только в том случае, если:

  • Драйвер мини-порта дисплея отвечает за конфигурацию связанного адаптера (LDA), предоставляемую одним поставщиком.
  • Приложение приняло монопольное владение полноэкранным дисплеем в какой-то момент его существования.
  • Приложение не переопределяет значение максимальной задержки кадра по умолчанию, равное 3.
Если эти условия не выполняются, вызов pfnEscapeCb возвращает код ошибки E_INVALIDARG .

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционной системы Windows.
Верхняя часть d3dukmdt.h (включая D3dumddi.h, D3dkmddi.h)

См. также раздел

D3DDDICB_ESCAPE

D3DDDI_EXECUTIONSTATEESCAPE

D3DDDI_FRAMELATENCYESCAPE

DXGKARG_ESCAPE

DxgkDdiEscape

pfnEscapeCb