структура D3DDDICB_PRESENT (d3dumddi.h)
Структура D3DDDICB_PRESENT описывает выделения, в которые копируется содержимое.
Синтаксис
typedef struct _D3DDDICB_PRESENT {
[in] D3DKMT_HANDLE hSrcAllocation;
[in] D3DKMT_HANDLE hDstAllocation;
[in] HANDLE hContext;
[in] UINT BroadcastContextCount;
HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
D3DKMT_HANDLE *BroadcastSrcAllocation;
D3DKMT_HANDLE *BroadcastDstAllocation;
UINT PrivateDriverDataSize;
PVOID pPrivateDriverData;
BOOLEAN bOptimizeForComposition;
BOOL SyncIntervalOverrideValid;
D3DDDI_FLIPINTERVAL_TYPE SyncIntervalOverride;
} D3DDDICB_PRESENT;
Члены
[in] hSrcAllocation
Тип данных D3DKMT_HANDLE, представляющий дескриптор в режиме ядра для выделения источника. Функция pfnAllocateCb среды выполнения Microsoft Direct3D возвращает этот дескриптор. Поэтому драйвер отображения пользовательского режима должен использовать этот дескриптор для копирования содержимого.
[in] hDstAllocation
Тип данных D3DKMT_HANDLE, представляющий дескриптор в режиме ядра для целевого выделения. Значение hDstAllocation может быть равно нулю, если назначение неизвестно; Режим ядра определяет назначение непосредственно перед DMA аппаратного потока команд в графический процессор.
[in] hContext
Дескриптор контекста, в который драйвер отправляет операцию копирования. Драйвер отображения пользовательского режима ранее создал этот контекст, вызвав функцию pfnCreateContextCb .
[in] BroadcastContextCount
Количество дополнительных контекстов в массиве, указываемых членом BroadcastContext .
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
Массив дескрипторов дополнительных контекстов для трансляции текущей текущей операции. Константой D3DDDI_MAX_BROADCAST_CONTEXT, определяемой как 64, определяется максимальное количество дополнительных контекстов, в которые драйвер отображения пользовательского режима может транслировать текущую текущую операцию.
Широковещательная трансляция поддерживается только для операций flip. Чтобы транслировать операцию перелистывания, драйвер мини-порта дисплея должен поддерживать переворачиваемые в памяти операции ввода-вывода (MMIO). Чтобы указать поддержку переворачиваний MMIO, драйвер мини-порта дисплея устанавливает флаг битового поля FlipOnVSyncMmIo в элементе FlipCapsструктуры DXGK_DRIVERCAPS при вызове функции DxgkDdiQueryAdapterInfo .
Исходный контекст, который указывает член hContext и который представляет драйвер отображения пользовательского режима, не является элементом в массиве BroadcastContext . Например, если массив BroadcastContext содержит один элемент, драйвер отображения пользовательского режима отправляет текущую операцию в контекст владельцев (hContext) и передает в этот дополнительный контекст.
BroadcastSrcAllocation
Выделение содержимого, которое будет представлено.
BroadcastDstAllocation
Если значение не равно нулю, представляет целевые выделения настоящего объекта.
PrivateDriverDataSize
Размер данных частного драйвера в байтах.
pPrivateDriverData
Данные частного драйвера для передачи В DdiPresent.
bOptimizeForComposition
DWM участвует в композиции.
SyncIntervalOverrideValid
Допустимый интервал синхронизации приложений переопределения.
SyncIntervalOverride
Переопределите интервал синхронизации приложений.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Верхняя часть | d3dumddi.h (включая D3dumddi.h) |