Compartilhar via


PDD_VPORTCB_UPDATE função de retorno de chamada (ddrawint.h)

A função de retorno de chamada DdVideoPortUpdate inicia e interrompe o objeto VPE e modifica o fluxo de dados do objeto VPE.

Sintaxe

PDD_VPORTCB_UPDATE PddVportcbUpdate;

DWORD PddVportcbUpdate(
  PDD_UPDATEVPORTDATA unnamedParam1
)
{...}

Parâmetros

unnamedParam1

Aponta para uma estrutura DD_UPDATEVPORTDATA que contém as informações necessárias para o driver atualizar o objeto VPE.

Valor retornado

DdVideoPortUpdate retorna um dos seguintes códigos de retorno de chamada:

Comentários

Os drivers DirectDraw que dão suporte à VPE devem implementar DdVideoPortUpdate.

Quando o membro dwFlags da estrutura DD_UPDATEVPORTDATA em lpUpdate é DDRAWI_VPORTSTART ou DDRAWI_VPORTUPDATE, o driver deve fazer o seguinte:

  • Verifique todos os sinalizadores no membro dwVPFlags da estrutura DDVIDEOPORTINFO para a qual o membro lpVideoInfo de DD_UPDATEVPORTDATA pontos. Esses sinalizadores descrevem como o driver deve transferir dados de vídeo para uma superfície (ou superfícies); por exemplo, eles indicam se o driver deve executar a oscilação automática, cortar os dados de vídeo ou VBI etc.
  • Configure loops no hardware para gravar dados de vídeo e/ou VBI nas superfícies na ordem em que as superfícies são armazenadas nas matrizes. O driver deve retornar o mais rápido possível depois de configurar esses loops.
  • Se o salto automático tiver sido solicitado, armazene o deslocamento do buffer de quadro para cada superfície na estrutura de dados interna do driver. Os deslocamentos de superfície devem ser armazenados na ordem em que as superfícies ocorrem nas matrizes DD_SURFACE_INT nos membros lplpDDDSurface e lplpDDVBISurface do DD_UPDATEVPORTDATA. Dessa forma, quando DdUpdateOverlay é chamado, o driver tem um registro da ordem de inversão da cadeia de superfície.
Se o membro dwVBIHeight da estrutura DDVIDEOPORTINFO for maior que zero e lplpDDDVBISurface não for NULL, o driver deverá gravar as linhas de dados de VBI especificadas pelo número em dwVBIHeight em cada superfície na matriz na qual lplpDDDVBISurface aponta.

Se o hardware do driver não puder dar suporte ao número de superfícies especificadas quando o salto automático for solicitado, DdVideoPortUpdate deverá falhar na chamada definindo DDERR_UNSUPPORTED no membro ddRVal do DD_UPDATEVPORTDATA.

O número de superfícies nas cadeias de superfície de vídeo e VBI pode ser diferente; ou seja, os membros dwNumAutoflip e dwNumVBIAutoflip de DD_UPDATEVPORTDATA podem ser valores diferentes.

Quando dwFlags é DDRAWI_VPORTSTOP, o driver deve retornar imediatamente. O driver não deve sondar até que o fluxo de dados pare.

Requisitos

   
Plataforma de Destino Área de Trabalho
Cabeçalho ddrawint.h (inclua Winddi.h)

Confira também

DDVIDEOPORTINFO

DD_SURFACE_INT

DD_UPDATEVPORTDATA

DdUpdateOverlay