Compartilhar 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;
  };
  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)

Confira também

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT