Compartir a través de


PDD_CANCREATESURFACE función de devolución de llamada (ddrawint.h)

La función de devolución de llamada CanCreateD3DBuffer determina si el controlador puede crear un comando de nivel de controlador o un búfer de vértices de la descripción especificada.

Sintaxis

PDD_CANCREATESURFACE PddCancreatesurface;

DWORD PddCancreatesurface(
  PDD_CANCREATESURFACEDATA unnamedParam1
)
{...}

Parámetros

unnamedParam1

Apunta a una estructura de DD_CANCREATESURFACEDATA . Esta estructura contiene la información necesaria para que el controlador determine si se puede crear un comando o un búfer de vértices.

Valor devuelto

CanCreateD3DBuffer devuelve un código de devolución de llamada.

Comentarios

Esta devolución de llamada solo se usa si el controlador administra los búferes de vértices y comandos de nivel de controlador.

CanCreateD3DBuffer debe comprobar la descripción de la superficie en la que el miembro lpDDSurfaceDesc de la estructura de DD_CANCREATESURFACEDATA en lpCanCreateD3DBuffer apunta a para determinar si el controlador puede admitir el formato y las funcionalidades del búfer solicitado para el modo en que el controlador está actualmente en. El controlador debe devolver DD_OK en el miembro ddRVal de la misma estructura si admite ese tipo de búfer. De lo contrario, debe devolver el código de error DDERR_Xxx que mejor describe por qué no admite el búfer.

Esta llamada tiene el mismo prototipo que DdCanCreateSurface. La devolución de llamada CanCreateD3DBuffer se usa, sin embargo, cuando la superficie en cuestión tiene la marca DDSCAPS_EXECUTEBUFFER establecida en el miembro ddsCaps de la estructura DD_SURFACE_LOCAL .

El controlador determina el tipo de búfer que se solicita comprobando el miembro ddsCaps de la estructura de DD_SURFACE_LOCAL para las marcas siguientes:

Marca Significado
DDSCAPS2_COMMANDBUFFER El controlador debe asignar un búfer de comandos.
DDSCAPS2_VERTEXBUFFER El controlador debe asignar un búfer de vértices explícito.
 
Nota Si no se establece ninguna marca, el controlador debe asignar un búfer de vértices implícito. Los búferes de vértices implícitos no deben colocarse en la memoria de vídeo, ya que se espera que sean de lectura y escritura. Solo los búferes de vértices explícitos con el conjunto de marcas de DDSCAPS_WRITEONLY se pueden colocar de forma segura en la memoria de vídeo.
 

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado ddrawint.h (incluya Winddi.h)

Consulte también

CreateD3DBuffer

DD_CANCREATESURFACEDATA

DD_SURFACE_LOCAL

DdCanCreateSurface