struttura DD_CANCREATESURFACEDATA (ddrawint.h)

La struttura DD_CANCREATESURFACEDATA contiene informazioni necessarie per indicare se è possibile creare una superficie nel caso di CanCreateD3DBuffer.

Sintassi

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

Members

lpDD

Punta alla struttura DD_DIRECTDRAW_GLOBAL che descrive il dispositivo del driver.

lpDDSurfaceDesc

Punta a una struttura DDSURFACEDESC contenente una descrizione della superficie o del buffer da creare. Per altre informazioni su questo membro, vedere la sezione Osservazioni.

bIsDifferentPixelFormat

Indica se il formato pixel della superficie da creare è diverso da quello della superficie primaria. Per il callback CanCreateD3DBuffer D3DBuffer, questo membro è sempre impostato su FALSE perché il driver sta tentando di creare un buffer contenente dati o comandi vertice, anziché dati pixel.

ddRVal

Specifica il percorso in cui il driver scrive il valore restituito del callback DdCanCreateSurface o CanCreateD3DBuffer . Un codice restituito di DD_OK indica l'esito positivo. Per altre informazioni, vedere Valori restituiti per DirectDraw.

CanCreateSurface

Usato dall'API Microsoft DirectDraw e non deve essere compilato dal driver.

Commenti

La descrizione della superficie DirectDraw a cui punta il membro lpDDSurfaceDesc è in realtà una struttura DDSURFACEDESC2 (anziché una struttura DDSURFACEDESC) per DirectDraw 6.0 e i runtime successivi. Pertanto, se sono necessarie informazioni in fase di creazione della superficie da tali membri che si trovano nella struttura DDSURFACEDESC2 ma non nella struttura DDSURFACEDESC, è sufficiente eseguire il cast del puntatore a una struttura DDSURFACEDESC a un puntatore a una struttura DDSURFACEDESC2 prima di usarla. Nell'esempio seguente viene illustrato come è possibile ottenere il valore di dwTextureStage (un membro della struttura DDSURFACEDESC2, ma non anche della struttura DDSURFACEDESC) da un puntatore a una struttura DDSURFACEDESC.

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

Requisiti

Requisito Valore
Intestazione ddrawint.h (include Winddi.h)

Vedi anche

CanCreateD3DBuffer

DdCanCreateSurface