PDD_CREATESURFACE função de retorno de chamada (ddrawint.h)
A função de retorno de chamada CreateD3DBuffer é usada para criar um comando no nível do driver ou um buffer de vértice da descrição especificada.
Sintaxe
PDD_CREATESURFACE PddCreatesurface;
DWORD PddCreatesurface(
PDD_CREATESURFACEDATA unnamedParam1
)
{...}
Parâmetros
unnamedParam1
Aponta para uma estrutura DD_CREATESURFACEDATA que contém as informações necessárias para criar o buffer.
Retornar valor
CreateD3DBuffer retorna um dos seguintes códigos 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.
Por padrão, o driver não é notificado quando uma superfície primária é criada no Windows 2000 e versões posteriores. No entanto, se o driver der suporte ao GUID GUID_NTPrivateDriverCaps em uma chamada DdGetDriverInfo e o sinalizador DDHAL_PRIVATECAP_NOTIFYPRIMARYCREATION for definido no membro dwPrivateCaps da estrutura DD_NTPRIVATEDRIVERCAPS , o driver será notificado.
O pitch deve ser retornado no membro lPitch das estruturas DD_SURFACE_GLOBAL e DDSURFACEDESC . Para memória linear, o driver deve definir dwBlockSizeX como o tamanho, em bytes, da região de memória e definir dwBlockSizeY como 1. Ambos são membros da estrutura DD_SURFACE_GLOBAL.
Essa chamada tem o mesmo protótipo que DdCreateSurface. O retorno de chamada CreateD3DBuffer é usado quando a superfície em questão tem o sinalizador DDSCAPS_EXECUTEBUFFER definido no membro ddsCaps da estrutura DD_SURFACE_LOCAL . Os sinalizadores de criação de buffer são DDSCAPS_WRITEONLY, DDSCAPS2_VERTEXBUFFER e DDSCAPS2_COMMANDBUFFER.
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. |
Como alternativa, o driver pode solicitar que o DirectDraw aloque o buffer retornando um dos seguintes valores em fpVidMem:
Valor | Significado |
---|---|
DDHAL_PLEASEALLOC_BLOCKSIZE | O DirectDraw deve alocar a memória do buffer da memória fora da tela. |
DDHAL_PLEASEALLOC_USERMEM | O DirectDraw deve alocar a memória do buffer da memória do usuário. O driver também deve retornar o tamanho, em bytes, da região de memória em dwUserMemSize. |
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ddrawint.h (inclua Winddi.h) |