Share via


structure DD_CANCREATESURFACEDATA (ddrawint.h)

La structure DD_CANCREATESURFACEDATA contient les informations nécessaires pour indiquer si une surface (dans le cas de CanCreateD3DBuffer, une mémoire tampon) peut être créée.

Syntaxe

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

Membres

lpDD

Pointe vers la structure DD_DIRECTDRAW_GLOBAL qui décrit l’appareil du pilote.

lpDDSurfaceDesc

Pointe vers une structure DDSURFACEDESC qui contient une description de la surface ou de la mémoire tampon à créer. Pour plus d’informations sur ce membre, consultez la section Remarques.

bIsDifferentPixelFormat

Indique si le format de pixels de la surface à créer diffère de celui de la surface primaire. Pour le rappel CanCreateD3DBuffer D3DBuffer, ce membre est toujours défini sur FALSE , car le pilote tente de créer une mémoire tampon qui contient des données ou des commandes de vertex, plutôt que des données de pixels.

ddRVal

Spécifie l’emplacement dans lequel le pilote écrit la valeur de retour du rappel DdCanCreateSurface ou CanCreateD3DBuffer . Un code de retour de DD_OK indique la réussite. Pour plus d’informations, consultez Valeurs de retour pour DirectDraw.

CanCreateSurface

Utilisé par l’API Microsoft DirectDraw et ne doit pas être renseigné par le pilote.

Remarques

La description de surface DirectDraw pointée par le membre lpDDSurfaceDesc est en fait une structure DDSURFACEDESC2 (plutôt qu’une structure DDSURFACEDESC) pour les runtimes DirectDraw 6.0 et versions ultérieures. Par conséquent, si vous avez besoin d’informations au moment de la création de la surface à partir des membres qui se trouvent dans la structure DDSURFACEDESC2 mais pas dans la structure DDSURFACEDESC, vous pouvez simplement convertir le pointeur vers une structure DDSURFACEDESC en pointeur vers une structure DDSURFACEDESC2 avant l’utilisation. L’exemple suivant montre comment la valeur de dwTextureStage (membre de la structure DDSURFACEDESC2, mais pas également de la structure DDSURFACEDESC) peut être obtenue à partir d’un pointeur vers une structure DDSURFACEDESC.

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

Configuration requise

Condition requise Valeur
En-tête ddrawint.h (inclure Winddi.h)

Voir aussi

CanCreateD3DBuffer

DdCanCreateSurface