Compartir a través de


DD_CANCREATESURFACEDATA estructura (ddrawint.h)

La estructura de DD_CANCREATESURFACEDATA contiene información necesaria para indicar si se puede crear una superficie en el caso de CanCreateD3DBuffer, un búfer.

Sintaxis

typedef struct _DD_CANCREATESURFACEDATA {
  PDD_DIRECTDRAW_GLOBAL lpDD;
  PDD_SURFACEDESC       lpDDSurfaceDesc;
  DWORD                 bIsDifferentPixelFormat;
  HRESULT               ddRVal;
  VOID                  *CanCreateSurface;
} *PDD_CANCREATESURFACEDATA, DD_CANCREATESURFACEDATA;

Miembros

lpDD

Apunta a la estructura DD_DIRECTDRAW_GLOBAL que describe el dispositivo del controlador.

lpDDSurfaceDesc

Apunta a una estructura DDSURFACEDESC que contiene una descripción de la superficie o el búfer que se va a crear. Consulte la sección Comentarios para obtener información adicional sobre este miembro.

bIsDifferentPixelFormat

Indica si el formato de píxel de la superficie que se va a crear difiere del de la superficie principal. Para la devolución de llamada canCreateD3DBuffer D3DBuffer, este miembro siempre se establece en FALSE porque el controlador está intentando crear un búfer que contiene datos de vértices o comandos, en lugar de datos de píxeles.

ddRVal

Especifica la ubicación en la que el controlador escribe el valor devuelto de la devolución de llamada DdCanCreateSurface o CanCreateD3DBuffer . Un código de retorno de DD_OK indica que se ha realizado correctamente. Para obtener más información, vea Valores devueltos para DirectDraw.

CanCreateSurface

Lo usa la API de Microsoft DirectDraw y el controlador no debe rellenarlo.

Comentarios

La descripción de la superficie de DirectDraw a la que apunta el miembro lpDDSurfaceDesc es realmente una estructura DDSURFACEDESC2 (en lugar de una estructura DDSURFACEDESC) para DirectDraw 6.0 y entornos de ejecución posteriores. Por lo tanto, si necesita información en el momento de la creación de la superficie a partir de los miembros que se encuentran en la estructura DDSURFACEDESC2 pero no en la estructura DDSURFACEDESC, simplemente puede convertir el puntero a una estructura DDSURFACEDESC a un puntero a una estructura DDSURFACEDESC2 antes de su uso. En el ejemplo siguiente se muestra cómo se puede obtener el valor de dwTextureStage (un miembro de la estructura DDSURFACEDESC2, pero no también de la estructura DDSURFACEDESC) desde un puntero a una estructura DDSURFACEDESC.

DDSURFACEDESC2* pddsd = (DDSURFACEDESC2*)pccsd->lpDDSurfaceDesc;
DWORD dwStage = pddsd->dwTextureStage;

Requisitos

Requisito Valor
Header ddrawint.h (incluya Winddi.h)

Consulte también

CanCreateD3DBuffer

DdCanCreateSurface