Compartilhar via


estrutura DD_CANCREATESURFACEDATA (ddrawint.h)

A estrutura DD_CANCREATESURFACEDATA contém informações necessárias para indicar se uma superfície, no caso de CanCreateD3DBuffer, um buffer, pode ser criada.

Sintaxe

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

Membros

lpDD

Aponta para a estrutura DD_DIRECTDRAW_GLOBAL que descreve o dispositivo do driver.

lpDDSurfaceDesc

Aponta para uma estrutura DDSURFACEDESC que contém uma descrição da superfície ou do buffer a ser criado. Consulte a seção Comentários para obter informações adicionais sobre esse membro.

bIsDifferentPixelFormat

Indica se o formato de pixel da superfície a ser criada difere do da superfície primária. Para o retorno de chamada CanCreateD3DBuffer D3DBuffer, esse membro sempre é definido como FALSE porque o driver está tentando criar um buffer que contém dados de vértice ou comandos, em vez de dados de pixel.

ddRVal

Especifica o local em que o driver grava o valor retornado do retorno de chamada DdCanCreateSurface ou CanCreateD3DBuffer . Um código de retorno de DD_OK indica êxito. Para obter mais informações, consulte Valores retornados para DirectDraw.

CanCreateSurface

Usado pela API do Microsoft DirectDraw e não deve ser preenchido pelo driver.

Comentários

A descrição da superfície do DirectDraw apontada pelo membro lpDDSurfaceDesc é, na verdade, uma estrutura de DDSURFACEDESC2 (em vez de uma estrutura DDSURFACEDESC) para runtimes directDraw 6.0 e posteriores. Portanto, se você precisar de informações no momento da criação da superfície dos membros que estão na estrutura DDSURFACEDESC2, mas não na estrutura DDSURFACEDESC, poderá simplesmente converter o ponteiro em uma estrutura DDSURFACEDESC em um ponteiro para uma estrutura DDSURFACEDESC2 antes de usar. O exemplo a seguir mostra como o valor de dwTextureStage (um membro da estrutura DDSURFACEDESC2, mas não também da estrutura DDSURFACEDESC) pode ser obtido de um ponteiro para uma estrutura DDSURFACEDESC.

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

Requisitos

Requisito Valor
Cabeçalho ddrawint.h (inclua Winddi.h)

Confira também

CanCreateD3DBuffer

DdCanCreateSurface