次の方法で共有


DDLOCKOUT 構造体 (ddkmapi.h)

DDLOCKOUT 構造体には、サーフェスの説明が含まれています。

構文

typedef struct _DDLOCKOUT {
  DWORD ddRVal;
  DWORD dwSurfHeight;
  DWORD dwSurfWidth;
  LONG  lSurfPitch;
  PVOID lpSurface;
  DWORD SurfaceCaps;
  DWORD dwFormatFlags;
  DWORD dwFormatFourCC;
  DWORD dwFormatBitCount;
  union {
    DWORD dwRBitMask;
    DWORD dwYBitMask;
  };
  union {
    DWORD dwGBitMask;
    DWORD dwUBitMask;
  };
  union {
    DWORD dwBBitMask;
    DWORD dwVBitMask;
  };
} DDLOCKOUT, *LPDDLOCKOUT;

メンバーズ

ddRVal

DD_DXAPI_LOCK 操作の DxApi 関数の戻り値を Microsoft DirectDraw が書き込む場所を指定します。 DD_OKのリターン コードは成功を示します。

dwSurfHeight

dwSurfWidth

サーフェスの寸法をピクセル単位で指定します。

lSurfPitch

次の行の先頭までの距離をバイト単位で指定します。

lpSurface

サーフェス メモリをポイントします。

SurfaceCaps

サーフェスの機能を指定するフラグのセットを示します。 このメンバーは、次のフラグの 1 つ以上に設定できます。

意味
DDSCAPS_3DDEVICE このサーフェスは、3D レンダリングに使用できます。 アプリケーションでは、このフラグを使用して、特定のヒープにのみレンダリングできるデバイスに、適切なヒープからオフスクリーン サーフェスが割り当てられていることを確認できます。 ヒープに対してこのフラグが設定されている場合、サーフェスはそのヒープから割り当てられません。
DDSCAPS_ALLOCONLOAD IDirect3DDevice7::Load メソッドを使用して、サーフェスがアプリケーションによって読み込まれるまで、サーフェスのメモリは割り当てされません。
DDSCAPS_ALPHA このサーフェスにはアルファ情報が含まれています。 ピクセル形式を照会して、このサーフェスにアルファ情報のみが含まれているか、ピクセル カラー データ (RGBA や YUVA など) とインターレースされたアルファ情報のみが含まれているかを判断する必要があります。
DDSCAPS_BACKBUFFER このサーフェスは、サーフェス 反転構造のバック バッファーです。 通常、この機能は、DDSCAPS_FLIP フラグが使用されるときに、アプリケーションの CreateSurface メソッドによって設定されます。 この機能が設定されるのは、DDSCAPS_FRONTBUFFERサーフェスのすぐ前にあるサーフェスだけです。 他のサーフェスは、DDSCAPS_FLIP フラグ、そのアタッチ順序、およびDDSCAPS_FRONTBUFFERおよびDDSCAPS_BACKBUFFER機能がないことによってバック バッファーとして識別されます。 この機能がアプリケーションの CreateSurface メソッドに送信されると、スタンドアロン のバック バッファーが作成されます。 このメソッドを呼び出した後、このサーフェスをフロント バッファー、別のバック バッファー、またはその両方にアタッチして反転サーフェス構造を形成できます。 詳細については、DirectX SDK ドキュメントの AddAttachedSurface メソッドを参照してください。 DirectDraw は、反転構造内の任意の数のサーフェスをサポートします。
DDSCAPS_COMPLEX 複雑なサーフェスが記述されています。 複雑なサーフェスでは、複数のサーフェスが作成されます。 追加のサーフェスはルート サーフェスにアタッチされます。 複雑な構造は、ルートを破棄することによってのみ破棄できます。
DDSCAPS_FLIP このサーフェスは、サーフェス 反転構造の一部です。 この機能をアプリケーションの CreateSurface メソッドに渡すと、フロント バッファーと 1 つ以上のバック バッファーが作成されます。 DirectDraw は、フロント バッファー サーフェイスのDDSCAPS_FRONTBUFFER ビットと、フロント バッファー サーフェイスに隣接するサーフェス上のDDSCAPS_BACKBUFFER ビットを設定します。 メソッドの呼び出しを成功させるには、DDSURFACEDESC 構造体の dwBackBufferCount メンバーを少なくとも 1 に設定する必要があります。 CreateSurface メソッドを使用して複数のサーフェスを作成する場合は、DDSCAPS_COMPLEX機能を常に設定する必要があります。
DDSCAPS_FRONTBUFFER このサーフェスは、サーフェス 反転構造のフロント バッファーです。 このフラグは、通常、DDSCAPS_FLIP機能が設定されている場合に、アプリケーションの CreateSurface メソッドによって設定されます。 この機能を CreateSurface メソッドに送信すると、スタンドアロン のフロント バッファーが作成されます。 この画面には、DDSCAPS_FLIP機能はありません。 アプリケーションの AddAttachedSurface メソッドを使用して、他のバック バッファーにアタッチして反転構造を形成できます。
DDSCAPS_HWCODEC このサーフェスは、ハードウェアによってストリームを展開できる必要があります。
DDSCAPS_LIVEVIDEO この画面は、ライブ ビデオを受信できる必要があります。
DDSCAPS_LOCALVIDMEM このサーフェスは、非ローカル表示メモリではなく、実際のローカル表示メモリに存在します。 このフラグを指定する場合は、DDSCAPS_VIDEOMEMORYも指定する必要があります。 このフラグは、DDSCAPS_NONLOCALVIDMEM フラグと共に使用することはできません。
DDSCAPS_MIPMAP このサーフェスはミップマップの 1 レベルです。 このサーフェスは、ミップマップを形成するために他のDDSCAPS_MIPMAPサーフェスにアタッチされます。 これを明示的に行うには、多数のサーフェスを作成し、アプリケーションの AddAttachedSurface メソッドを使用してアタッチするか、アプリケーションの CreateSurface メソッドを使用します。 この機能が設定されている場合は、DDSCAPS_TEXTUREも設定する必要があります。
DDSCAPS_MODEX このサーフェスは、320 x 200 または 320 x 240 モード X サーフェスです。
DDSCAPS_NONLOCALVIDMEM このサーフェスは、true のローカル表示メモリではなく、非ローカル表示メモリに存在します。 このフラグを指定する場合は、DDSCAPS_VIDEOMEMORYフラグも指定する必要があります。 これは、DDSCAPS_LOCALVIDMEM フラグでは使用できません。
DDSCAPS_OFFSCREENPLAIN このサーフェスは、オーバーレイ、テクスチャ、z バッファー、フロント バッファー、バック バッファー、アルファ サーフェスではないすべてのオフスクリーン サーフェスです。 プレーンサーフェスを識別するために使用されます。
DDSCAPS_OPTIMIZED 現在実装されていません。
DDSCAPS_OVERLAY このサーフェスはオーバーレイです。 プライマリ サーフェスに現在オーバーレイされているかどうかによって、直接表示される場合と表示されない場合があります。 DDSCAPS_VISIBLEを使用して、現時点でオーバーレイされているかどうかを判断できます。
DDSCAPS_OWNDC この画面には、長期間にわたってデバイス コンテキスト (DC) の関連付けが含まれます。
DDSCAPS_PALETTE このデバイス ドライバーを使用すると、一意の DirectDrawPalette オブジェクトを作成し、このサーフェイスにアタッチできます。
DDSCAPS_PRIMARYSURFACE サーフェスはプライマリ サーフェスです。 これは、現時点でユーザーに表示される内容を表します。
DDSCAPS_PRIMARYSURFACELEFT このサーフェスは、左目のプライマリ サーフェスです。 これは、現時点でユーザーの左目に表示される内容を表します。 このサーフェスを作成すると、DDSCAPS_PRIMARYSURFACE機能を持つサーフェスは、ユーザーの右目で表示される内容を表します。
DDSCAPS_STANDARDVGAMODE このサーフェスは標準の VGA モード サーフェスであり、ModeX サーフェスではありません。 このフラグは、DDSCAPS_MODEX フラグと組み合わせて使用することはできません。
DDSCAPS_SYSTEMMEMORY このサーフェス メモリはシステム メモリに割り当てられています。
DDSCAPS_TEXTURE このサーフェスは、3D テクスチャとして使用できます。 サーフェスがその目的で使用されているかどうかは示されません。
DDSCAPS_VIDEOMEMORY このサーフェスは、表示メモリに存在します。
DDSCAPS_VIDEOPORT このサーフェスは、ハードウェア ビデオ ポートからデータを受信できます。
DDSCAPS_VISIBLE このサーフェスに加えられた変更はすぐに表示されます。 これは常にプライマリ サーフェスに対して設定され、オーバーレイはオーバーレイに対して設定され、オーバーレイはテクスチャの処理中にオーバーレイマップに設定されます。
DDSCAPS_WRITEONLY サーフェスへの書き込みアクセスのみが許可されます。 サーフェスからの読み取りアクセスでは一般的な保護エラー (GPF) が発生する可能性がありますが、このサーフェスからの読み取り結果は意味がありません。
DDSCAPS_ZBUFFER このサーフェスは z バッファーです。 z バッファーには、表示できない情報が含まれています。 代わりに、どのピクセルが表示され、どのピクセルが隠されているかを判断するために使用されるビット深度情報が含まれています。

dwFormatFlags

オプションのコントロール フラグのセットを指定します。 このメンバーは、次のフラグの組み合わせに設定できます。

意味
DDPF_ALPHA ピクセル形式は、アルファのみのサーフェスを表します。
DDPF_ALPHAPIXELS サーフェスには、ピクセル形式のアルファ チャネル情報があります。
DDPF_ALPHAPREMULT システム用に予約されています。
DDPF_BUMPDUDV ピクセル形式のバンプ マップ dUdV データは有効です。
DDPF_BUMPLUMINANCE ピクセル形式の輝度データは有効です。 このフラグは、バンプマップサーフェスから輝度をぶら下げるときに使用されます。ピクセルの輝度部分のビットマスクは、DDPIXELFORMAT 構造体の dwBumpLuminanceBitCount メンバーによって示されます。
DDPF_COMPRESSED サーフェスは、指定された形式のピクセル データを受け入れ、書き込み操作中に圧縮します。
DDPF_FOURCC FOURCC コードは有効です。
DDPF_LUMINANCE ピクセル形式の輝度データは有効です。 このフラグは、輝度のみまたは輝度とアルファサーフェスに使用されます。その後、DDPIXELFORMAT 構造体の dwLuminanceBitCount メンバーによってビット深度が示されます。
DDPF_PALETTEINDEXED1 サーフェスには、1 ビットのカラー インデックスが付けられます。
DDPF_PALETTEINDEXED2 サーフェスには 2 ビットカラーインデックスが付けられます。
DDPF_PALETTEINDEXED4 サーフェスには 4 ビットカラーインデックスが付けられます。
DDPF_PALETTEINDEXED8 サーフェスには 8 ビットカラーインデックスが付けられます。
DDPF_PALETTEINDEXEDTO8 サーフェスは、8 ビット パレットにインデックスが付いた 1 ビット、2 ビット、または 4 ビットのカラーです。
DDPF_RGB ピクセル形式構造の RGB データは有効です。
DDPF_RGBTOYUV サーフェスは RGB データを受け入れ、書き込み操作中に YUV データに変換します。 書き込むデータの形式は、ピクセル形式の構造に含まれています。 DDPF_RGB フラグが設定されています。
DDPF_STENCILBUFFER サーフェスには、ステンシル情報と Z 情報が含まれています。
DDPF_YUV ピクセル形式構造の YUV データが有効です。
DDPF_ZBUFFER ピクセル形式は、z バッファーのみのサーフェスを表します。
DDPF_ZPIXELS サーフェスは RGBZ 形式です。

dwFormatFourCC

FOURCC コードを指定します。 FOURCC コードの詳細については、DirectX SDK のドキュメントを参照してください。

dwFormatBitCount

RGB または YUV データのピクセルあたりのビット数 (4、8、16、24、または 32) を指定します。

dwRBitMask

赤いビットのマスクを指定します。

dwYBitMask

Y ビットのマスクを指定します。

dwGBitMask

緑のビットのマスクを指定します。

dwUBitMask

U ビットのマスクを指定します。

dwBBitMask

青いビットのマスクを指定します。

dwVBitMask

V ビットのマスクを指定します。

必要条件

要件 価値
ヘッダー ddkmapi.h (Ddkmapi.h を含む)

関連項目

DD_DXAPI_LOCK

DxApi を する