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