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 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) |