D3DHAL_CONTEXTCREATEDATA構造体 (d3dhal.h)
D3DHAL_CONTEXTCREATEDATA構造体には、 D3dContextCreate 関数が新しいコンテキストを作成するために必要なすべての情報が含まれています。
構文
typedef struct _D3DHAL_CONTEXTCREATEDATA {
union {
LPDDRAWI_DIRECTDRAW_GBL lpDDGbl;
LPDDRAWI_DIRECTDRAW_LCL lpDDLcl;
};
union {
LPDIRECTDRAWSURFACE lpDDS;
LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl;
};
union {
LPDIRECTDRAWSURFACE lpDDSZ;
LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl;
};
union {
DWORD dwPID;
ULONG_PTR dwrstates;
};
ULONG_PTR dwhContext;
HRESULT ddrval;
} D3DHAL_CONTEXTCREATEDATA;
メンバー
lpDDGbl
ドライバーの構造 (レガシ)。
lpDDLcl
COM インターフェイスを Direct3D に取得するためにアプリケーションが作成する必要がある DirectDraw オブジェクトを指します。 これにより、DirectDraw アプリケーションとドライバーの間でコンテキスト情報を共有できます。 lpDDLcl は、アプリケーションのコンテキストとドライバーのコンテキストの間の共通のバインディング要素です。 これは 、 特定の Direct3D コンテキストに属し、現在の DirectDraw プロセスにのみ関連するサーフェスを識別するために使用されるDD_DIRECTDRAW_LOCAL構造体を指します。 ドライバーで Direct3D コンテキストを作成する前にサーフェス (深度バッファー、レンダリング バッファー、テクスチャなど) を作成できるため、lpDDLcl が必要です。
lpDDS
ターゲットとして使用するサーフェス。
lpDDSLcl
レンダリング ターゲットとして使用する DirectDraw サーフェスを記述する DD_SURFACE_LOCAL 構造体を指します。
lpDDSZ
Z として使用するサーフェス。
lpDDSZLcl
深度バッファーとして使用する DirectDraw サーフェスを記述するDD_SURFACE_LOCAL構造体を指します。 このメンバーが NULL の場合、深度バッファリングは実行されません。
dwPID
現在のプロセス ID を指定します。 これは、Direct3D デバイスの作成を開始した Direct3D アプリケーションのプロセス ID です。
dwrstates
ドライバーがコマンド バッファーからレンダリング状態コマンドを解析するときに更新する必要があるレンダリング状態配列を指します。 配列バッファーは、少なくとも指定された数の ULONG 値を含むのに十分な大きさである必要があります。
dwhContext
入力時に Direct3D ユーザー モード ランタイムのバージョンを示す場所を指定し、出力では、ドライバーがコンテキストを正常に作成したときにコンテキスト ハンドルを返します。 詳細については、「解説」を参照してください。
ddrval
ドライバーが D3dContextCreate のリターン コードを書き込む場所を指定します。 D3D_OKのリターン コードは成功を示します。 D3DHAL_OUTOFCONTEXTSのリターン コードは、ドライバーがコンテキストを作成できないことを示します。 詳細については、「 Direct3D ドライバー コールバックのリターン コード」を参照してください。
注釈
Direct3D ランタイムがドライバーの D3dContextCreate 関数を 呼び出すと、ランタイムは dwhContext メンバーのランタイムのユーザー モード バージョンを示す数値を指定します。 次の表は、数値とユーザー モード バージョンのマッピングを示しています。
Number | DirectX ユーザー モード バージョン |
---|---|
5 | 9.0 |
4 | 8.0 |
3 | 7.0 |
2 | 6.0 |
1 | 5.0 |
0 | 3.0 |
ドライバーが正常にコンテキストを作成した場合、ドライバーは、ドライバーと通信するときに使用する Direct3D ランタイムの dwhContext のコンテキスト ID を返します。
要件
要件 | 値 |
---|---|
Header | d3dhal.h (D3dhal.h を含む) |