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 を含む) |
関連項目
DxApi を