структура 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. Член PrivateDriverDataSize — sizeof(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.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционной системы Windows. |
Верхняя часть | d3dukmdt.h (включая D3dumddi.h, D3dkmddi.h) |