Platform SDK: DirectX

DDSURFACEDESC

DDSURFACEDESC 構造体は、サーフェスの記述を含む。この構造体は、IDirectDraw2::CreateSurface メソッドに渡される。関係するメンバは、サーフェスの個々のタイプにより異なる。

IDirectDraw7 インターフェイスを使用する場合、このサーフェスは DDSURFACEDESC2 構造体によって置き換えられる。

typedef struct _DDSURFACEDESC {
    DWORD          dwSize;
    DWORD          dwFlags;
    DWORD          dwHeight;
    DWORD          dwWidth;
    union
    {
        LONG       lPitch;
        DWORD      dwLinearSize;
    };
    DWORD          dwBackBufferCount;
    union
    {
        DWORD      dwMipMapCount;
        DWORD      dwZBufferBitDepth;
        DWORD      dwRefreshRate;
    };
    DWORD          dwAlphaBitDepth;
    DWORD          dwReserved;
    LPVOID         lpSurface;
    DDCOLORKEY     ddckCKDestOverlay;
    DDCOLORKEY     ddckCKDestBlt;
    DDCOLORKEY     ddckCKSrcOverlay;
    DDCOLORKEY     ddckCKSrcBlt;
    DDPIXELFORMAT  ddpfPixelFormat;
    DDSCAPS        ddsCaps;
} DDSURFACEDESC, FAR* LPDDSURFACEDESC; 

メンバ

dwSize
バイト単位の構造体のサイズ。このメンバは、構造体を使用する前に初期化しなくてはならない。
dwFlags
オプション制御フラグ。以下のフラグのうち、1 つ以上の値を取る。
DDSD_ALL
入力メンバはすべて有効である。
DDSD_ALPHABITDEPTH
dwAlphaBitDepth メンバは有効である。
DDSD_BACKBUFFERCOUNT
dwBackBufferCount メンバは有効である。
DDSD_CAPS
ddsCaps メンバは有効である。
DDSD_CKDESTBLT
ddckCKDestBlt メンバは有効である。
DDSD_CKDESTOVERLAY
ddckCKDestOverlay メンバは有効である。
DDSD_CKSRCBLT
ddckCKSrcBlt メンバは有効である。
DDSD_CKSRCOVERLAY
ddckCKSrcOverlay メンバは有効である。
DDSD_HEIGHT
dwHeight メンバは有効である。
DDSD_LINEARSIZE
dwLinearSize メンバは有効である。
DDSD_LPSURFACE
lpSurface メンバは有効である。
DDSD_MIPMAPCOUNT
dwMipMapCount メンバは有効である。
DDSD_PITCH
lPitch メンバは有効である。
DDSD_PIXELFORMAT
ddpfPixelFormat メンバは有効である。
DDSD_REFRESHRATE
dwRefreshRate メンバは有効である。
DDSD_WIDTH
dwWidth メンバは有効である。
DDSD_ZBUFFERBITDEPTH
dwZBufferBitDepth メンバは有効である。
dwHeightdwWidth
ピクセル単位で作成しようとするサーフェスのディメンジョン。
lPitch
次のラインの開始までのバイト単位の距離。IDirectDrawSurface7::GetSurfaceDesc メソッドを使用する場合、これは戻り値となる。既存のメモリからサーフェスを作成する場合、または IDirectDrawSurface7::SetSurfaceDesc メソッドを呼び出す場合、これは入力値となる。この入力値は DWORD の倍数でなければならない。
dwLinearSize
バッファのサイズ。現時点では、圧縮されたテクスチャ サーフェスのためだけに返される。
dwBackBufferCount
バック バッファの数。
dwMipMapCount
ミップマップ レベルの数。
dwZBufferBitDepth
Z バッファの深度。このメンバは、DirectX 6.0 以降のバージョンのために取得される。IDirect3D7::EnumZBufferFormats を使用して、サポートされる深度バッファ フォーマットの情報を取得する。
dwRefreshRate
リフレッシュ レート (ディスプレイ モードを記述する場合に使用)。この値が 0 の場合、アダプタ デフォルトを示す。
dwAlphaBitDepth
アルファ バッファの深度。
dwReserved
将来的な使用のために確保されている。
lpSurface
関連付けられたサーフェス メモリのアドレス。IDirectDrawSurface7::Lock を呼び出すと、呼び出しが戻った後、このメンバはサーフェス メモリへの有効なポインタを含む。既存のメモリからサーフェスを作成する場合、または IDirectDrawSurface7::SetSurfaceDesc メソッドを使用する場合、このメンバは入力値となる。この入力値とは、呼び出し側アプリケーションによって割り当てられたシステム メモリのアドレスである。アプリケーションがサーフェス メモリの割り当てや管理のために DirectDraw を必要とする場合、このメンバを設定できない。
ddckCKDestOverlay
オーバーレイ サーフェスの転送先カラー キーを記述する DDCOLORKEY 構造体。
ddckCKDestBlt
ブリット処理の転送先カラー キーを記述する DDCOLORKEY 構造体。
ddckCKSrcOverlay
オーバーレイ サーフェスの転送元カラー キーを記述する DDCOLORKEY 構造体。
ddckCKSrcBlt
ブリット処理の転送元カラー キーを記述する DDCOLORKEY 構造体。
ddpfPixelFormat
サーフェスのピクセル フォーマットを記述する DDPIXELFORMAT 構造体。
ddsCaps
サーフェスの能力を含む DDSCAPS 構造体。

注意

この構造体は DDSURFACEDESC2 構造体と類似しているが、DDSCAPS2 構造体ではなく ddsCaps メンバとして DDSCAPS 構造体を含んでいる。DDSURFACEDESC2 とは異なり、この構造体は dwZBufferBitDepth メンバを含む。

動作環境

  Windows NT/2000 : Windows NT 4.0 Service Pack 3 またはそれ以降が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : ddraw.h で宣言。