LPD3DHAL_CONTEXTCREATECB コールバック関数 (d3dhal.h)

D3dContextCreate 関数はコンテキストを作成します。

構文

LPD3DHAL_CONTEXTCREATECB Lpd3dhalContextcreatecb;

DWORD Lpd3dhalContextcreatecb(
  LPD3DHAL_CONTEXTCREATEDATA unnamedParam1
)
{...}

パラメーター

unnamedParam1

pccd [in]

コンテキストの作成に必要な情報と、ドライバーが新しいコンテキストに格納する必要があるデータを含むD3DHAL_CONTEXTCREATEDATA構造体を指します。

戻り値

D3dContextCreate は、次のいずれかのコールバック コードを返します。

注釈

D3dContextCreate は、Microsoft Direct3D をサポートするドライバーに実装する必要があります。 次の手順を実行する必要があります。

  • ドライバーがレンダリングを実行するために必要なすべての情報を使用して、ドライバーのコンテキストを初期化します。 これには、pccd のD3DHAL_CONTEXTCREATEDATA構造体の lpDDDSLcl メンバーと lpDDSZLcl メンバーがそれぞれコンテキストに関連付けるレンダリング ターゲットと深度バッファーの関連付けも含まれます。
  • この新しいコンテキストの一意のコンテキスト ID を生成し、D3DHAL_CONTEXTCREATEDATA の dwhContext メンバーで返します。 Direct3D は、この Direct3D デバイスに対して行う後続のすべてのコールバックで、このコンテキスト ID を使用します。 ドライバーは、0 のコンテキスト ハンドルを作成しないでください。
  • D3DHAL_CONTEXTCREATEDATA の ddrval メンバーを成功時にDD_OKし、コンテキストを作成できない場合はD3DHAL_OUTOFCONTEXTSに設定します。
  • DDHAL_DRIVER_HANDLEDを返します。
D3dContextCreate は、D3DHAL_CONTEXTCREATEDATAの lpDDLcl メンバーとして渡されたDD_DIRECTDRAW_LOCAL構造体へのポインターをキャッシュしないでください。 ドライバーは、その後、このDD_DIRECTDRAW_LOCALポインターを介してアクセスされる情報が必要な場合は、ドライバーは、ドライバーのプライベート コンテキスト データ構造に情報を格納する必要があります。

状態はコンテキスト間で共有されません。そのため、ドライバーは、各コンテキストの完全な状態情報を維持する必要があります。 この状態は、 D3dDrawPrimitives2 の後続の呼び出しによって変更されます。

ドライバーは、コンテキスト内に作成されたすべてのテクスチャ ハンドルを参照できる必要があります。 その後、ドライバーは、D3dContextDestroy 呼び出しが行われたときに、このコンテキスト内で作成されたテクスチャに関連するすべてのドライバー固有のデータをクリーンできます。

D3dContextCreate は、無効な PDEV を使用して呼び出すことができます。 PDEV は、ディスプレイ ドライバーの DrvAssertMode 関数を呼び出すことによって無効または有効になります。 詳細については、「 PDEV の管理」 を参照してください。

要件

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

こちらもご覧ください

D3DHAL_CONTEXTCREATEDATA

D3dContextDestroy

D3dDrawPrimitives2

DD_DIRECTDRAW_LOCAL