структура D3DKMT_PRESENT (d3dkmthk.h)
Структура D3DKMT_PRESENT описывает текущую операцию.
Синтаксис
typedef struct _D3DKMT_PRESENT {
union {
[in] D3DKMT_HANDLE hDevice;
[in] D3DKMT_HANDLE hContext;
};
[in] HWND hWindow;
[in] D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
[in] D3DKMT_HANDLE hSource;
[in] D3DKMT_HANDLE hDestination;
[in] UINT Color;
[in] RECT DstRect;
[in] RECT SrcRect;
[in] UINT SubRectCnt;
[in] const RECT *pSrcSubRects;
[in] UINT PresentCount;
[in] D3DDDI_FLIPINTERVAL_TYPE FlipInterval;
[in] D3DKMT_PRESENTFLAGS Flags;
[in] ULONG BroadcastContextCount;
D3DKMT_HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
[in] HANDLE PresentLimitSemaphore;
[in] D3DKMT_PRESENTHISTORYTOKEN PresentHistoryToken;
D3DKMT_PRESENT_RGNS *pPresentRegions;
union {
D3DKMT_HANDLE hAdapter;
D3DKMT_HANDLE hIndirectContext;
};
UINT Duration;
D3DKMT_HANDLE *BroadcastSrcAllocation;
D3DKMT_HANDLE *BroadcastDstAllocation;
UINT PrivateDriverDataSize;
PVOID pPrivateDriverData;
BOOLEAN bOptimizeForComposition;
} D3DKMT_PRESENT;
Члены
[in] hDevice
Тип данных D3DKMT_HANDLE, представляющий дескриптор режима ядра для устройства, для представления. Дескриптор устройства предоставляется функции D3DKMTPresent в союзе, которая D3DKMT_PRESENT содержит для совместимости с Microsoft Direct3D версии 10.
[in] hContext
Тип данных D3DKMT_HANDLE, представляющий дескриптор режима ядра для контекста устройства для представления.
[in] hWindow
Дескриптор окна, к которому применяется передача битового блока (bitblt). Значение NULL указывает окно рабочего стола. Значение в hWindow может быть NULL, если Blt или ColorFill битовое поле флага указано в элементе Флаги.
[in] VidPnSourceId
Отсчитываемый от нуля идентификационный номер видео, представленный в пути к топологии текущей сети (VidPN), для которой требуется ограничить отображение, если флаг RestrictVidPnSource битовое поле задан в элементе Флаги.
Если установлен флаг RestrictVidPnSource битового поля, а элемент hWindowNULL, элемент VidPnSourceId указывает, какой вывод полноэкранного bitblt имеет значение Перенаправлено на параметр If RestrictVidPnSource, а hWindow не являетсяNULL, VidPnSourceId указывает, на какие выходные данные следует ограничить передачу окнено-битового блока.
[in] hSource
Тип данных D3DKMT_HANDLE, представляющий дескриптор режима ядра для системной памяти или основного выделения, который будет присутствовать, если флаг ColorFill битовое поле не задано в элементе Флаги.
[in] hDestination
Тип данных D3DKMT_HANDLE, представляющий дескриптор режима ядра в целевом выделении. hDestination может быть нулевым, если назначение неизвестно.
Дескриптор hDestination действителен только в том случае, если флаг Blt битового поля задан в элементе Флаги.
Если дескриптор в элементе hDestination
[in] Color
ArGB 32-разрядная (см. D3DDDIFORMAT перечисление) значение цветовой заливки или ключа цвета. Значение заливки цвета задается, если флаг битового поля
Если основной формат является палеттизированным RGB, color содержит индекс палитры, а не значение D3DDDIFMT_A8R8G8B8 из D3DDDIFORMAT.
[in] DstRect
Необязательный целевой RECT для bitblt. Целевой параметр RECT используется только в том случае, если флаг DstRectValid битовое поле задан в элементе Flags.
[in] SrcRect
Необязательный источник RECT для bitblt. Исходный параметр RECT используется только в том случае, если флаг SrcRectValid битовое поле задан в элементе Flags.
[in] SubRectCnt
Количество вложенных областей, которые pSrcSubRects указывает на то, что указано при представлении.
[in] pSrcSubRects
Указатель на массив вложенных областей (RECTs), указанных при представлении.
[in] PresentCount
Количество присутствующих операций, которые можно за очередью для устройства, указанного hDevice.
[in] FlipInterval
Значение D3DDDI_FLIPINTERVAL_TYPEтипа, указывающее интервал переверки (то есть, если перевернуть происходит после нуля, одного, двух, трех или четырех вертикальных синхронизаций).
[in] Flags
Структура D3DKMT_PRESENTFLAGS, идентифицирующая флаги битового поля, как отобразить. Обратите внимание, что флаг иColorFill SrcColorKeyи флаги DstColorKey битовое поле являются взаимоисключающими.
[in] BroadcastContextCount
Число дополнительных контекстов в массиве, который broadcastContext указывает.
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
Массив D3DKMT_HANDLE типов данных, представляющих обработчики режима ядра, в дополнительные контексты для трансляции текущей текущей операции. Константа D3DDDI_MAX_BROADCAST_CONTEXT, определяемая как 64, определяет максимальное количество контекстов, в которые ICD OpenGL может транслировать текущую текущую операцию.
Трансляция поддерживается только для операций переверки. Чтобы транслировать операцию переверки, драйвер мини-порта дисплея должен поддерживать сопоставленные операции ввода-вывода (MMIO) на основе операций ввода-вывода. Чтобы указать поддержку переворачиваний MMIO, драйвер мини-порта отображения задает флаг FlipOnVSyncMmIo битовое поле в элементе FlipCaps элемента структуры DXGK_DRIVERCAPS при вызове функции DxgkDdiQueryAdapterInfo.
Исходный контекст, указывающий элемент hContext, и что openGL ICD представляет собой не элемент в массиве BroadcastContext. Например, если массив BroadcastContext содержит один элемент, openGL ICD отправляет текущую операцию в собственный контекст (hContext) и передает в этот дополнительный контекст.
[in] PresentLimitSemaphore
Дескриптор текущего ограничения семафора.
Поддерживается начиная с Windows 7.
[in] PresentHistoryToken
Структура D3DKMT_PRESENTHISTORYTOKEN, которая определяет тип текущей операции.
Поддерживается начиная с Windows 7.
pPresentRegions
Указатель на структуру D3DKMT_PRESENT_RGNS, которая определяет грязные и перемещаемые области.
Поддерживается начиная с Windows 8.
hAdapter
Дескриптор графического адаптера.
hIndirectContext
Контекст косвенного адаптера для перенаправления по пути doD. Этот элемент действителен только в том случае, если установлен флаг PresentIndirect.
Duration
Длительность каждого представления. Допустимо только в том случае, если установлен флаг DurationValid.
BroadcastSrcAllocation
Связанный адаптер отображения для источника.
BroadcastDstAllocation
Связанный адаптер отображения для назначения.
PrivateDriverDataSize
Размер данных частного драйвера.
pPrivateDriverData
Указатель на буфер, содержащий необязательные данные частного драйвера.
bOptimizeForComposition
Указывает, оптимизировано ли устройство для композиции.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
заголовка | d3dkmthk.h (include D3dkmthk.h) |