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

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

pfnAllocateCb

pfnPresentCb