структура DD_CANCREATESURFACEDATA (ddrawint.h)
Структура DD_CANCREATESURFACEDATA содержит сведения, необходимые для указания возможности создания поверхности (в случае CanCreateD3DBuffer, буфера).
Синтаксис
typedef struct _DD_CANCREATESURFACEDATA {
PDD_DIRECTDRAW_GLOBAL lpDD;
PDD_SURFACEDESC lpDDSurfaceDesc;
DWORD bIsDifferentPixelFormat;
HRESULT ddRVal;
VOID *CanCreateSurface;
} *PDD_CANCREATESURFACEDATA, DD_CANCREATESURFACEDATA;
Члены
lpDD
Указывает на структуру DD_DIRECTDRAW_GLOBAL , описывающую устройство драйвера.
lpDDSurfaceDesc
Указывает на структуру DDSURFACEDESC , содержащую описание создаваемой поверхности или буфера. Дополнительные сведения об этом участнике см. в разделе Примечания.
bIsDifferentPixelFormat
Указывает, отличается ли формат пикселей создаваемой поверхности от формата основной поверхности. Для обратного вызова CanCreateD3DBuffer D3DBuffer этот элемент всегда имеет значение FALSE , так как драйвер пытается создать буфер, содержащий данные вершин или команды, а не пиксельные данные.
ddRVal
Указывает расположение, в которое драйвер записывает возвращаемое значение обратного вызова DdCanCreateSurface или CanCreateD3DBuffer . Код возврата DD_OK указывает на успешное выполнение. Дополнительные сведения см. в разделе Возвращаемые значения для DirectDraw.
CanCreateSurface
Используется API Microsoft DirectDraw и не должен заполняться драйвером.
Комментарии
Описание поверхности DirectDraw, на которое указывает элемент lpDDSurfaceDesc , фактически является DDSURFACEDESC2 структурой (а не структурой DDSURFACEDESC) для сред выполнения DirectDraw 6.0 и более поздних версий. Таким образом, если во время создания поверхности требуются сведения от элементов, которые находятся в структуре DDSURFACEDESC2, но не находятся в структуре DDSURFACEDESC, можно просто привести указатель на структуру DDSURFACEDESC к указателю на структуру DDSURFACEDESC2 перед использованием. В следующем примере показано, как можно получить значение dwTextureStage (члена структуры DDSURFACEDESC2, но не также структуры DDSURFACEDESC) из указателя на структуру DDSURFACEDESC.
DDSURFACEDESC2* pddsd = (DDSURFACEDESC2*)pccsd->lpDDSurfaceDesc;
DWORD dwStage = pddsd->dwTextureStage;
Требования
Требование | Значение |
---|---|
Заголовок | ddrawint.h (включая Winddi.h) |