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


структура 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, представляющий дескриптор режима ядра в исходном выделении. Функция среды выполнения Microsoft Direct3D pfnAllocateC b возвращает этот дескриптор. Таким образом, драйвер отображения в пользовательском режиме должен использовать этот дескриптор для копирования содержимого из.

[in] hDstAllocation

Тип данных D3DKMT_HANDLE, представляющий дескриптор режима ядра в целевом выделении. hDstAllocation может быть нулевым, если назначение неизвестно; Режим ядра определяет назначение непосредственно перед DMA аппаратного потока команд на графический процессор.

[in] hContext

Дескриптор контекста, в который драйвер отправляет операцию копирования. Драйвер отображения в пользовательском режиме ранее создал этот контекст путем вызова функции pfnCreateContextCb.

[in] BroadcastContextCount

Число дополнительных контекстов в массиве, указанное элементом broadcastContext.

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

Массив дескрипторов дополнительных контекстов для трансляции текущей текущей операции. Константа D3DDDI_MAX_BROADCAST_CONTEXT, определяемая как 64, определяет максимальное количество дополнительных контекстов, в которых драйвер отображения пользовательского режима может транслировать текущую текущую операцию.

Трансляция поддерживается только для операций переверки. Чтобы транслировать операцию переверки, драйвер мини-порта дисплея должен поддерживать сопоставленные операции ввода-вывода (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 (include D3dumddi.h)

См. также

pfnAllocateCb

pfnPresentCb