Partilhar via


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;
  };
  [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;

Membros

[in] hDevice

Um tipo de dados D3DKMT_HANDLE que representa um identificador de modo kernel para o dispositivo ao qual apresentar. 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 de modo kernel para o contexto do dispositivo ao qual apresentar.

[in] hWindow

Um identificador para a janela à qual a transferência de bloco de bits (bitblt) se aplica. Um valor de NULL indica a janela da área de trabalho. O valor em hWindow pode ser NULL, a menos que o Blt ou ColorFill sinalizador de campo de bits seja especificado no membro sinalizadores .

[in] VidPnSourceId

O número de identificação baseado em zero da origem do vídeo presente em um caminho de uma topologia VidPN (rede presente em vídeo) na qual restringir a exibição, se o RestrictVidPnSource sinalizador de campo de bits estiver definido no membro sinalizadores .

Se o RestrictVidPnSource sinalizador de campo de bits estiver definido e o membro do 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 forNULL, VidPnSourceId indicará a qual saída restringir a transferência de bloco de bits com janelas.

[in] hSource

Um tipo de dados D3DKMT_HANDLE que representa um identificador do modo kernel para a memória do sistema ou a alocação primária a ser apresentada, se o ColorFill sinalizador de campo de bits não estiver definido no membro sinalizadores do .

[in] hDestination

Um tipo de dados D3DKMT_HANDLE que representa um identificador do modo kernel para a alocação de destino. hDestination pode ser zero se o destino for desconhecido.

O identificador em hDestination é válido somente se o sinalizador Blt campo de bits estiver definido no membro sinalizadores .

Se o identificador no hDestination membro não for zero, os identificadores de hDestination e hWindow deverão se referir a duas alocações primárias diferentes do mesmo tamanho, o dispositivo no membro hDevice deve ser proprietário da fonte presente do vídeo identificada pelo membro do VidPnSourceId e o SrcRectValid sinalizador de campo de bits deve ser definido no membro sinalizadores do .

[in] Color

O valor de preenchimento de cor ou chave de cor argb de 32 bits (consulte a enumeração D3DDDIFORMAT). Um valor para o preenchimento de cores é definido quando o ColorFill sinalizador de campo de bits é definido no membro sinalizadores do . Um valor para chave de cor é definido quando o SrcColorKey ou DstColorKey sinalizador de campo de bits é definido no membro sinalizadores . Observe que apenas um dos sinalizadores ColorFill, SrcColorKeye DstColorKey bit-field está definido a qualquer momento.

Se o formato primário for palettizado RGB, Color conterá o índice de paleta em vez do valor D3DDDIFMT_A8R8G8B8 de D3DDDIFORMAT.

[in] DstRect

O destino opcional RECT para o bitblt. O RECT de destino será usado somente se o DstRectValid sinalizador de campo de bits estiver definido no membro sinalizadores de .

[in] SrcRect

O RECT de origem opcional para o bitblt. O RECT de origem será usado somente se o SrcRectValid sinalizador de campo de bits estiver definido no membro sinalizadores do .

[in] SubRectCnt

O número de regiões subrectangulares que pSrcSubRects aponta para as especificadas ao apresentar.

[in] pSrcSubRects

Um ponteiro para uma matriz de RECTs (regiões subrectangulares) especificadas ao apresentar.

[in] PresentCount

O número de operações presentes que podem ser enfileiradas para o dispositivo especificado por hDevice.

[in] FlipInterval

Um valor digitado D3DDDI_FLIPINTERVAL_TYPEque 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 osColorFill, SrcColorKey e DstColorKey sinalizadores de campo de bit são mutuamente exclusivos.

[in] BroadcastContextCount

O número de contextos adicionais na matriz que o BroadcastContext especifica.

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

Uma matriz de tipos de dados D3DKMT_HANDLE que representam identificadores de modo kernel para os contextos adicionais para os quais difundir 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 mapeadas por memória (MMIO). Para indicar o suporte a versões de MMIO, o driver de miniporto de exibição define o FlipOnVSyncMmIo sinalizador de campo de bits no flipCaps membro da estrutura DXGK_DRIVERCAPS quando sua função DxgkDdiQueryAdapterInfo é chamada.

O contexto original que o membro hContext especifica e que o ICD opengl 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 regiões sujas e de movimentação.

Com suporte a partir do 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 é definido.

BroadcastSrcAllocation

Adaptador de exibição vinculado para a origem.

BroadcastDstAllocation

Adaptador de exibição vinculado para o destino.

PrivateDriverDataSize

Tamanho dos dados do driver privado.

pPrivateDriverData

Ponteiro para um buffer que contém dados opcionais de driver privado.

bOptimizeForComposition

Indica se o dispositivo é otimizado para composição.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista
cabeçalho d3dkmthk.h (inclua D3dkmthk.h)

Consulte também

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT