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) |