estrutura D3DKMT_PRESENT (d3dkmthk.h)
A estrutura D3DKMT_PRESENT descreve a operação atual.
Sintaxe
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;
Membros
[in] hDevice
Um tipo de dados D3DKMT_HANDLE que representa um identificador do modo kernel para o dispositivo a ser apresentado. Um identificador de dispositivo é fornecido para a função D3DKMTPresent na união que D3DKMT_PRESENT contém para compatibilidade com o Microsoft Direct3D versão 10.
[in] hContext
Um tipo de dados D3DKMT_HANDLE que representa um identificador do modo kernel para o contexto do dispositivo a ser apresentado.
void D3DKMT_PTR( HWND unnamedParam1, hWindow unnamedParam2)
[in] VidPnSourceId
O número de identificação baseado em zero da origem presente do vídeo em um caminho de uma topologia VidPN (rede presente em vídeo) na qual restringir a exibição, se o sinalizador de campo de bit RestrictVidPnSource estiver definido no membro Flags .
Se o sinalizador de campo de bit RestrictVidPnSource estiver definido e o membro hWindow for NULL, o membro VidPnSourceId indicará qual saída o bitblt de tela inteira será direcionado para Se RestrictVidPnSource estiver definido e hWindow não for NULL, VidPnSourceId indicará a qual saída restringir a transferência de bloco de bits em janelas.
[in] hSource
Um tipo de dados D3DKMT_HANDLE que representa um identificador do modo kernel para a memória do sistema ou alocação primária a ser apresentada, se o sinalizador de campo de bit ColorFill não estiver definido no membro Flags .
[in] hDestination
Um tipo de dados D3DKMT_HANDLE que representa um identificador do modo kernel para a alocação de destino. hDestination poderá ser zero se o destino for desconhecido.
O identificador em hDestination só será válido se o sinalizador de campo de bit do Blt estiver definido no membro Flags .
Se o identificador no membro hDestination não for zero, os identificadores hDestination e hWindow deverão se referir a duas alocações primárias diferentes do mesmo tamanho, o dispositivo no membro hDevice deve ser o proprietário da fonte presente do vídeo identificada pelo membro VidPnSourceId e o sinalizador de campo de bitSrcRectValid deve ser definido no membro Flags .
[in] Color
O argb de 32 bits (consulte o valor de preenchimento de cor ou chave de cor do D3DDDIFORMAT ). Um valor para preenchimento de cor é definido quando o sinalizador de campo de bits ColorFill é definido no membro Flags . Um valor para a chave de cor é definido quando o sinalizador de campo de bitSrcColorKey ou DstColorKey é definido no membro Flags . Observe que apenas um dos sinalizadores de campo de bit ColorFill, SrcColorKey e DstColorKey está definido a qualquer momento.
Se o formato primário for RGB palettizado, Color conterá o índice de paleta em vez do valor D3DDDIFMT_A8R8G8B8 de D3DDDIFORMAT.
[in] DstRect
O RECT de destino opcional para o bitblt. O RECT de destino será usado somente se o sinalizador de campo de bit DstRectValid estiver definido no membro Flags .
[in] SrcRect
O RECT de origem opcional para o bitblt. O RECT de origem será usado somente se o sinalizador de campo de bits SrcRectValid estiver definido no membro Flags .
[in] SubRectCnt
O número de regiões subrectangulares que pSrcSubRects aponta para que são especificadas ao apresentar.
void D3DKMT_PTR( const RECT *unnamedParam1, pSrcSubRects unnamedParam2)
[in] PresentCount
O número de operações presentes que podem ser enfileiradas para o dispositivo especificado por hDevice.
[in] FlipInterval
Um valor de tipo D3DDDI_FLIPINTERVAL_TYPE que indica o intervalo de inversão (ou seja, se a inversão ocorrer após zero, uma, duas, três ou quatro sincronizações verticais).
[in] Flags
Uma estrutura D3DKMT_PRESENTFLAGS que identifica, em sinalizadores de campo de bit, como exibir. Observe que os sinalizadores de campo de bit ColorFill, SrcColorKey e DstColorKey são mutuamente exclusivos.
[in] BroadcastContextCount
O número de contextos adicionais na matriz especificada por BroadcastContext .
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
Uma matriz de tipos de dados D3DKMT_HANDLE que representam identificadores do modo kernel para os contextos adicionais para os quais transmitir a operação atual. A constante D3DDDI_MAX_BROADCAST_CONTEXT, que é definida como 64, define o número máximo de contextos para os quais o OpenGL ICD pode transmitir a operação atual.
A difusão tem suporte apenas para operações de inversão. Para transmitir uma operação de inversão, o driver de miniporto de exibição deve dar suporte a versões baseadas em E/S (E/S mapeada) de memória. Para indicar o suporte a inversãos de MMIO, o driver de miniporto de exibição define o sinalizador de campo de bit FlipOnVSyncMmIo no membro FlipCaps da estrutura DXGK_DRIVERCAPS quando sua função DxgkDdiQueryAdapterInfo é chamada.
O contexto original que o membro hContext especifica e que o OpenGL ICD apresenta não é um elemento na matriz BroadcastContext . Por exemplo, se a matriz BroadcastContext contiver um elemento, o OpenGL ICD enviará a operação atual para o contexto proprietário (hContext) e transmitirá para esse contexto adicional.
[in] PresentLimitSemaphore
O identificador para o semáforo de limite atual.
Com suporte a partir do Windows 7.
[in] PresentHistoryToken
Uma estrutura D3DKMT_PRESENTHISTORYTOKEN que identifica o tipo de operação atual.
Com suporte a partir do Windows 7.
pPresentRegions
Um ponteiro para uma estrutura de D3DKMT_PRESENT_RGNS que identifica sujo e move regiões.
Com suporte começando com Windows 8.
hAdapter
Um identificador para o adaptador gráfico.
hIndirectContext
O contexto do adaptador indireto para redirecionamento por meio do caminho presente do DoD. Esse membro só será válido se o sinalizador PresentIndirect estiver definido.
Duration
Duração por presente. Válido somente quando o sinalizador DurationValid estiver definido.
void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastSrcAllocation unnamedParam2)
void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastDstAllocation unnamedParam2)
PrivateDriverDataSize
Tamanho dos dados do driver privado.
void D3DKMT_PTR( PVOID unnamedParam1, pPrivateDriverData unnamedParam2)
bOptimizeForComposition
Indica se o dispositivo está otimizado para composição.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Cabeçalho | d3dkmthk.h (inclua D3dkmthk.h) |