структура D3DKMT_PRESENT (d3dkmthk.h)
Структура D3DKMT_PRESENT описывает текущую операцию.
Синтаксис
typedef struct _D3DKMT_PRESENT {
union {
[in] D3DKMT_HANDLE hDevice;
[in] D3DKMT_HANDLE hContext;
};
void D3DKMT_PTR(
HWND unnamedParam1,
hWindow unnamedParam2
);
[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;
void D3DKMT_PTR(
const RECT *unnamedParam1,
pSrcSubRects unnamedParam2
);
[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;
void D3DKMT_PTR(
D3DKMT_HANDLE *unnamedParam1,
BroadcastSrcAllocation unnamedParam2
);
void D3DKMT_PTR(
D3DKMT_HANDLE *unnamedParam1,
BroadcastDstAllocation unnamedParam2
);
UINT PrivateDriverDataSize;
void D3DKMT_PTR(
PVOID unnamedParam1,
pPrivateDriverData unnamedParam2
);
BOOLEAN bOptimizeForComposition;
} D3DKMT_PRESENT;
Члены
[in] hDevice
Тип данных D3DKMT_HANDLE, представляющий дескриптор в режиме ядра для устройства, для представления. Дескриптор устройства предоставляется функции D3DKMTPresent в объединении, которое D3DKMT_PRESENT содержит для совместимости с Microsoft Direct3D версии 10.
[in] hContext
Тип данных D3DKMT_HANDLE, представляющий дескриптор режима ядра для контекста устройства, в который необходимо представить данные.
void D3DKMT_PTR( HWND unnamedParam1, hWindow unnamedParam2)
[in] VidPnSourceId
Отсчитываемый от нуля идентификационный номер источника представления видео в пути к топологии сети видеотрансляции (VidPN), для которой требуется ограничить отображение, если флаг битового поля RestrictVidPnSource установлен в элементе Flags .
Если установлен флаг битового поля RestrictVidPnSource и элемент hWindow имеет значение NULL, то элемент VidPnSourceId указывает, на какие выходные данные направляется полноэкранный bitblt. Если задан параметр RestrictVidPnSource и hWindow имеет значение, отличное от NULL, то VidPnSourceId указывает, на какие выходные данные следует ограничить передачу битовых блоков в окнах.
[in] hSource
Тип данных D3DKMT_HANDLE, представляющий дескриптор режима ядра для системной памяти или основного выделения, из, если флаг битового поля ColorFill не задан в элементе Flags .
[in] hDestination
Тип данных D3DKMT_HANDLE, представляющий дескриптор в режиме ядра для целевого выделения. Значение hDestination может быть равно нулю, если назначение неизвестно.
Дескриптор в hDestination действителен, только если флаг битового поля Blt задан в элементе Flags .
Если дескриптор в элементе hDestination является ненулевым, дескриптор hDestination и hWindow должны ссылаться на два разных основных выделения одного размера, устройство в элементе hDevice должно владеть источником видео, который идентифицируется элементом VidPnSourceId , а флаг битового поля SrcRectValid должен быть установлен в элементе Flags .
[in] Color
32-битовое значение ARGB (см. перечисление D3DDDIFORMAT ) с заливкой цвета или значением ключа цвета . Значение цветовой заливки устанавливается, если флаг битового поля ColorFill установлен в элементе Flags . Значение для ключа цвета устанавливается, если флаг битового поля SrcColorKey или DstColorKey установлен в элементе Flags . Обратите внимание, что в любое время устанавливается только один из флагов битовых полей ColorFill, SrcColorKey и DstColorKey .
Если основным форматом является палетизированный RGB, color содержит индекс палитры, а не значение D3DDDIFMT_A8R8G8B8 из D3DDDIFORMAT.
[in] DstRect
Необязательный целевой rect для bitblt. Целевой ПАРАМЕТР RECT используется только в том случае, если флаг битового поля DstRectValid установлен в элементе Flags .
[in] SrcRect
Необязательный источник RECT для bitblt. Исходный RECT используется только в том случае, если флаг битового поля SrcRectValid установлен в элементе Flags .
[in] SubRectCnt
Количество подэктангулярных областей, на которые указывает pSrcSubRects , которые указываются при представлении.
void D3DKMT_PTR( const RECT *unnamedParam1, pSrcSubRects unnamedParam2)
[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, определяется максимальное количество контекстов, в которые OpenGL ICD может транслироваться текущая операция.
Широковещательная трансляция поддерживается только для операций flip. Чтобы транслировать операцию перелистывания, драйвер мини-порта дисплея должен поддерживать переворачиваемые в памяти операции ввода-вывода (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.
void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastSrcAllocation unnamedParam2)
void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastDstAllocation unnamedParam2)
PrivateDriverDataSize
Размер данных частного драйвера.
void D3DKMT_PTR( PVOID unnamedParam1, pPrivateDriverData unnamedParam2)
bOptimizeForComposition
Указывает, оптимизировано ли устройство для композиции.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Верхняя часть | d3dkmthk.h (включая D3dkmthk.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по