DD_CANCREATESURFACEDATA 構造体 (ddrawint.h)

DD_CANCREATESURFACEDATA構造体には、 CanCreateD3DBuffer の場合に buffer--can を作成できるかどうかを示すために必要な情報が含まれています。

構文

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 サーフェスの説明は、DirectDraw 6.0 以降のランタイムの場合、実際には (DDSURFACEDESC 構造体ではなく) DDSURFACEDESC2構造体です。 したがって、DDSURFACEDESC2構造内にあるが DDSURFACEDESC 構造体には含まれていないメンバーから、サーフェス作成時に情報が必要な場合は、使用する前に DDSURFACEDESC 構造体へのポインターを DDSURFACEDESC2 構造体へのポインターにキャストするだけで済みます。 次の例は 、dwTextureStage (DDSURFACEDESC2 構造体のメンバーですが、DDSURFACEDESC 構造体のメンバー) の値を DDSURFACEDESC 構造体へのポインターから取得する方法を示しています。

DDSURFACEDESC2* pddsd = (DDSURFACEDESC2*)pccsd->lpDDSurfaceDesc;
DWORD dwStage = pddsd->dwTextureStage;

要件

要件
Header ddrawint.h (Winddi.h を含む)

こちらもご覧ください

CanCreateD3DBuffer

DdCanCreateSurface