ホーム › Graphics.DirectDraw › PDD_CANCREATESURFACE
PDD_CANCREATESURFACE
コールバックシグネチャ
DWORD PDD_CANCREATESURFACE(
DD_CANCREATESURFACEDATA* param0
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| param0 | DD_CANCREATESURFACEDATA* | DD_CANCREATESURFACEDATA 構造体へのポインターです。この構造体には、コマンドバッファーまたは頂点バッファーを作成できるかどうかをドライバーが判断するために必要な情報が格納されます。 |
公式ドキュメント
CanCreateD3DBuffer コールバック関数は、指定された記述のドライバーレベルのコマンドバッファーまたは頂点バッファーをドライバーが作成できるかどうかを判断します。
戻り値
CanCreateD3DBuffer はコールバックコードを返します。
解説(Remarks)
このコールバックは、ドライバーがドライバーレベルのコマンドバッファーおよび頂点バッファーを管理する場合にのみ使用されます。
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 フラグが設定された明示的な頂点バッファーだけです。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)