DD_CANCREATESURFACEDATA 結構 (ddrawint.h)
DD_CANCREATESURFACEDATA 結構包含指出 Surface-- 在 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
由 Microsoft DirectDraw API 使用,且不應該由驅動程式填入。
備註
lpDDSurfaceDesc 成員所指向的 DirectDraw 表面描述實際上是一個DDSURFACEDESC2結構 (,而不是 DirectDraw 6.0 和更新版本的運行時間的 DDSURFACEDESC 結構) 。 因此,如果您需要在表面建立時的信息,這些成員位於 DDSURFACEDESC2 結構中,但不是在 DDSURFACEDESC 結構中,您只要將指標轉換成 DDSURFACEDESC 結構的指標,即可在使用之前,將指標轉換成DDSURFACEDESC2結構的指標。 下列範例示範 dwTextureStage 的值如何 (DDSURFACEDESC2 結構的成員,但無法同時從 DDSURFACEDESC 結構的指標取得 DDSURFACEDESC 結構) 。
DDSURFACEDESC2* pddsd = (DDSURFACEDESC2*)pccsd->lpDDSurfaceDesc;
DWORD dwStage = pddsd->dwTextureStage;
規格需求
需求 | 值 |
---|---|
標頭 | ddrawint.h (包括 Winddi.h) |