次の方法で共有


PDD_CANCREATESURFACE コールバック関数 (ddrawint.h)

CanCreateD3DBuffer コールバック関数は、ドライバーが指定された説明のドライバー レベルのコマンドまたは頂点バッファーを作成できるかどうかを決定します。

構文

PDD_CANCREATESURFACE PddCancreatesurface;

DWORD PddCancreatesurface(
  PDD_CANCREATESURFACEDATA unnamedParam1
)
{...}

パラメーター

unnamedParam1

DD_CANCREATESURFACEDATA構造体を指します。 この構造体には、ドライバーがコマンドバッファーと頂点バッファーのどちらを作成できるかを判断するために必要な情報が含まれています。

戻り値

CanCreateD3DBuffer は コールバック コードを返します。

注釈

このコールバックは、ドライバーがドライバー レベルのコマンド バッファーと頂点バッファーを管理する場合にのみ使用されます。

CanCreateD3DBuffer は、lpCanCreateD3DBuffer のDD_CANCREATESURFACEDATA構造体の lpDDSurfaceDesc メンバーが指すサーフェスの説明をチェックして、ドライバーがドライバーが現在使用しているモードの要求されたバッファーの形式と機能をサポートできるかどうかを判断する必要があります。 ドライバーは、その種類のバッファーをサポートしている場合、同じ構造体の ddRVal メンバー内のDD_OKを返す必要があります。 それ以外の場合は、バッファーをサポートしない理由を最もよく説明する DDERR_Xxx エラー コードを返す必要があります。

この呼び出しには、 DdCanCreateSurface と同じプロトタイプがあります。 ただし、CanCreateD3DBuffer コールバックは、問題のサーフェスがDD_SURFACE_LOCAL構造体のddsCaps メンバーにDDSCAPS_EXECUTEBUFFER フラグを設定している場合に使用されます。

ドライバーは、次のフラグのDD_SURFACE_LOCAL構造体の ddsCaps メンバーをチェックすることによって、要求されるバッファーの種類を決定します。

フラグ 説明
DDSCAPS2_COMMANDBUFFER ドライバーはコマンド バッファーを割り当てる必要があります。
DDSCAPS2_VERTEXBUFFER ドライバーは、明示的な頂点バッファーを割り当てる必要があります。
 
メモ どちらのフラグも設定されていない場合、ドライバーは暗黙的な頂点バッファーを割り当てる必要があります。 暗黙的な頂点バッファーは、読み取り/書き込みが想定されているため、ビデオ メモリに配置しないでください。 DDSCAPS_WRITEONLY フラグが設定された明示的な頂点バッファーのみをビデオ メモリに安全に配置できます。
 

要件

要件
対象プラットフォーム デスクトップ
Header ddrawint.h (Winddi.h を含む)

こちらもご覧ください

CreateD3DBuffer

DD_CANCREATESURFACEDATA

DD_SURFACE_LOCAL

DdCanCreateSurface