Freigeben über


DD_CANCREATESURFACEDATA-Struktur (ddrawint.h)

Die DD_CANCREATESURFACEDATA-Struktur enthält Informationen, die erforderlich sind, um anzugeben, ob eine Oberfläche ( im Fall von CanCreateD3DBuffer) ein Puffer erstellt werden kann.

Syntax

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

Member

lpDD

Zeigt auf die DD_DIRECTDRAW_GLOBAL-Struktur , die das Gerät des Treibers beschreibt.

lpDDSurfaceDesc

Zeigt auf eine DDSURFACEDESC-Struktur , die eine Beschreibung der zu erstellenden Oberfläche oder des Puffers enthält. Weitere Informationen zu diesem Member finden Sie im Abschnitt Hinweise.

bIsDifferentPixelFormat

Gibt an, ob sich das Pixelformat der zu erstellenden Oberfläche von dem der primären Oberfläche unterscheidet. Für den Rückruf CanCreateD3DBuffer D3DBuffer ist dieses Element immer auf FALSE festgelegt, da der Treiber versucht, einen Puffer zu erstellen, der Vertexdaten oder -befehle anstelle von Pixeldaten enthält.

ddRVal

Gibt den Speicherort an, an dem der Treiber den Rückgabewert des Rückrufs DdCanCreateSurface oder CanCreateD3DBuffer schreibt. Ein Rückgabecode von DD_OK zeigt den Erfolg an. Weitere Informationen finden Sie unter Rückgabewerte für DirectDraw.

CanCreateSurface

Wird von der Microsoft DirectDraw-API verwendet und sollte nicht vom Treiber ausgefüllt werden.

Hinweise

Die Beschreibung der DirectDraw-Oberfläche, auf die das element lpDDSurfaceDesc verweist, ist tatsächlich eine DDSURFACEDESC2-Struktur (anstelle einer DDSURFACEDESC-Struktur) für DirectDraw 6.0 und höhere Runtimes. Wenn Sie daher informationen zur Oberflächenerstellungszeit von den Elementen benötigen, die sich in der DDSURFACEDESC2-Struktur, aber nicht in der DDSURFACEDESC-Struktur befinden, können Sie den Zeiger einfach auf eine DDSURFACEDESC-Struktur in einen Zeiger auf eine DDSURFACEDESC2 Struktur umwandeln, bevor sie verwendet wird. Das folgende Beispiel zeigt, wie der Wert von dwTextureStage (ein Element der DDSURFACEDESC2-Struktur, aber nicht auch der DDSURFACEDESC-Struktur) aus einem Zeiger auf eine DDSURFACEDESC-Struktur abgerufen werden kann.

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

Anforderungen

Anforderung Wert
Header ddrawint.h (include Winddi.h)

Weitere Informationen

CanCreateD3DBuffer

DdCanCreateSurface