Compartilhar via


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

A função de retorno de chamada CanCreateD3DBuffer determina se o driver pode criar um comando no nível do driver ou um buffer de vértice da descrição especificada.

Sintaxe

PDD_CANCREATESURFACE PddCancreatesurface;

DWORD PddCancreatesurface(
  PDD_CANCREATESURFACEDATA unnamedParam1
)
{...}

Parâmetros

unnamedParam1

Aponta para uma estrutura DD_CANCREATESURFACEDATA . Essa estrutura contém as informações necessárias para o driver determinar se um comando ou buffer de vértice pode ser criado.

Retornar valor

CanCreateD3DBuffer retorna um código de retorno de chamada.

Comentários

Esse retorno de chamada será usado somente se o driver gerenciar buffers de vértice e comando no nível do driver.

CanCreateD3DBuffer deve marcar a descrição da superfície para a qual o membro lpDDSurfaceDesc da estrutura DD_CANCREATESURFACEDATA em lpCanCreateD3DBuffer aponta para para determinar se o driver pode dar suporte ao formato e aos recursos do buffer solicitado para o modo em que o driver está atualmente. O driver deverá retornar DD_OK no membro ddRVal da mesma estrutura se ele der suporte a esse tipo de buffer. Caso contrário, ele deverá retornar o código de erro DDERR_Xxx que melhor descreve por que ele não dá suporte ao buffer.

Essa chamada tem o mesmo protótipo que DdCanCreateSurface. No entanto, o retorno de chamada CanCreateD3DBuffer é usado quando a superfície em questão tem o sinalizador DDSCAPS_EXECUTEBUFFER definido no membro ddsCaps da estrutura DD_SURFACE_LOCAL .

O driver determina o tipo de buffer que está sendo solicitado verificando o membro ddsCaps da estrutura DD_SURFACE_LOCAL para os seguintes sinalizadores:

Sinalizador Significado
DDSCAPS2_COMMANDBUFFER O driver deve alocar um buffer de comando.
DDSCAPS2_VERTEXBUFFER O driver deve alocar um buffer de vértice explícito.
 
Nota Se nenhum sinalizador for definido, o driver deverá alocar um buffer de vértice implícito. Buffers de vértice implícitos não devem ser colocados na memória de vídeo, pois eles devem ser de leitura/gravação. Somente buffers de vértice explícitos com o sinalizador DDSCAPS_WRITEONLY definido podem ser colocados com segurança na memória de vídeo.
 

Requisitos

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

Confira também

CreateD3DBuffer

DD_CANCREATESURFACEDATA

DD_SURFACE_LOCAL

DdCanCreateSurface