DDSURFACEDESC2結構 (ddraw.h)

DDSURFACEDESC2 結構包含驅動程式所要建立的介面描述。

語法

typedef struct _DDSURFACEDESC2 {
  DWORD      dwSize;
  DWORD      dwFlags;
  DWORD      dwHeight;
  DWORD      dwWidth;
#if ...
  union {
    LONG  lPitch;
    DWORD dwLinearSize;
  } DUMMYUNIONNAMEN;
#elif
  union {
    DWORD dwBackBufferCount;
    DWORD dwDepth;
  } DUMMYUNIONNAMEN;
#elif
  union {
    DWORD dwMipMapCount;
    DWORD dwRefreshRate;
    DWORD dwSrcVBHandle;
  } DUMMYUNIONNAMEN;
  DWORD      dwAlphaBitDepth;
  DWORD      dwReserved;
  LPVOID     lpSurface;
#elif
  union {
    DDCOLORKEY ddckCKDestOverlay;
    DWORD      dwEmptyFaceColor;
  } DUMMYUNIONNAMEN;
  DDCOLORKEY ddckCKDestBlt;
  DDCOLORKEY ddckCKSrcOverlay;
  DDCOLORKEY ddckCKSrcBlt;
#else
  union {
    DDPIXELFORMAT ddpfPixelFormat;
    DWORD         dwFVF;
  } DUMMYUNIONNAMEN;
#endif
  DDSCAPS2   ddsCaps;
  DWORD      dwTextureStage;
} *LPDDSURFACEDESC2, DDSURFACEDESC2;

成員

dwSize

指定這個 DDSURFACEDESC2 結構的位元組大小。 使用 結構之前,必須先初始化這個成員。

dwFlags

指定一組旗標,決定DDSURFACEDESC2結構的成員包含有效的數據。 此成員可以是下列一或多個旗標:

旗標 意義

DDSD_ALL

所有輸入成員都包含有效的數據。

DDSD_ALPHABITDEPTH

dwAlphaBitDepth 成員有效。

DDSD_BACKBUFFERCOUNT

dwBackBufferCount 成員有效。

DDSD_CAPS

ddsCaps 成員有效。

DDSD_CKDESTBLT

ddckCKDestBlt 成員有效。

DDSD_CKDESTOVERLAY

ddckCKDestOverlay 成員有效。

DDSD_CKSRCBLT

ddckCKSrcBlt 成員有效。

DDSD_CKSRCOVERLAY

ddckCKSrcOverlay 成員有效。

DDSD_FVF

dwFVF 成員有效。

DDSD_HEIGHT

dwHeight 成員有效。

DDSD_LINEARSIZE

dwLinearSize 成員有效。

DDSD_LPSURFACE

lpSurface 成員有效。

DDSD_MIPMAPCOUNT

dwMipMapCount 成員有效。

DDSD_PITCH

lPitch 成員有效。

DDSD_PIXELFORMAT

ddpfPixelFormat 成員有效。

DDSD_REFRESHRATE

dwRefreshRate 成員有效。

DDSD_SRCVBHANDLE

dwSrcVBHandle 成員有效。

DDSD_TEXTURESTAGE

dwTextureStage 成員有效。

DDSD_WIDTH

dwWidth 成員有效。

DDSD_ZBUFFERBITDEPTH

此旗標不會用於DDSURFACEDESC2。 它只適用於 DDSURFACEDESC

dwHeight

以像素指定表面的高度。

dwWidth

以像素指定表面的寬度。

DUMMYUNIONNAMEN

N/A

DUMMYUNIONNAMEN.lPitch

指定兩個相鄰掃描行開頭之間的位元元組數目;也就是說,要加入至一個掃描行開頭位址的位元組數目,以到達其下方下一個掃描行的起始位址。 驅動程式的 DdCreateSurface 回呼必須傳回此值。

DUMMYUNIONNAMEN.dwLinearSize

指定無格式、延遲配置、優化表面的大小,以位元組為單位。

DUMMYUNIONNAMEN.dwBackBufferCount

指定與表面相關聯的後台緩衝區數目。

DUMMYUNIONNAMEN.dwDepth

如果這是磁碟區紋理,則為位深度。

DUMMYUNIONNAMEN.dwMipMapCount

指定 Mipmap 層級的數目。

DUMMYUNIONNAMEN.dwRefreshRate

指定顯示模式描述) 時,監視器 (的重新整理速率。

DUMMYUNIONNAMEN.dwSrcVBHandle

指定 Microsoft Direct3D SDK 檔) 中所述的 IDirect3DVertexBuffer7::Optimize (中使用的來源。

dwAlphaBitDepth

以每個圖元的位為單位指定 Alpha 緩衝區的深度。

dwReserved

保留 ,且 應設定為零。

lpSurface

指定相關聯表面記憶體的位址。

DUMMYUNIONNAMEN.ddckCKDestOverlay

指定目的地重疊使用的色彩索引鍵。

DUMMYUNIONNAMEN.dwEmptyFaceColor

指定空白 Cube 地圖臉部的實體色彩。

ddckCKDestBlt

指定目的地blit用途的色彩索引鍵。

ddckCKSrcOverlay

指定來源重疊使用的色彩索引鍵。

ddckCKSrcBlt

指定來源blit用途的色彩索引鍵。

DUMMYUNIONNAMEN.ddpfPixelFormat

指定描述表面圖元格式的 DDPIXELFORMAT 結構。

DUMMYUNIONNAMEN.dwFVF

指定頂點緩衝區的彈性頂點格式 (D3DFVF) 。

ddsCaps

指定包含 DirectDraw 表面功能的 DDSCAPS 結構。

dwTextureStage

指定多重文字串聯中的階段。 如需詳細資訊,請參閱 紋理階段

備註

每個潛在表面類型的相關成員都不同。 此結構通常是由應用程式建立和初始化。

規格需求

需求
標頭 ddraw.h

另請參閱