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
アプリケーションが Direct3D への COM インターフェイスを取得するために作成する必要がある DirectDraw オブジェクトを指します。 これにより、DirectDraw アプリケーションとドライバーの間でコンテキスト情報を共有できます。 lpDDLcl は、アプリケーションのコンテキストとドライバーのコンテキストの間の共通のバインディング要素です。 特定の Direct3D コンテキストに属し、現在の DirectDraw プロセスにのみ関連するサーフェスを識別するために使用される DD_DIRECTDRAW_LOCAL 構造体を指します。 lpDDLcl は、Direct3D コンテキストがドライバーで作成される前にサーフェス (深度バッファー、レンダリング バッファー、テクスチャなど) を作成できるため、必要です。
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 メンバー内のランタイムのユーザー モード バージョンを示す番号を指定します。 次の表は、数値とユーザー モードのバージョンのマッピングを示しています。
数 | DirectX ユーザー モード のバージョン |
---|---|
5 | 9.0 |
4 | 8.0 |
3 | 7.0 |
2 | 6.0 |
1 | 5.0 |
0 | 3.0 |
ドライバーがコンテキストを正常に作成した場合、ドライバーは、ドライバーと通信するときに使用する Direct3D ランタイムの dwhContext のコンテキスト ID を返します。
必要条件
要件 | 価値 |
---|---|
ヘッダー | d3dhal.h (D3dhal.h を含む) |
関連項目
D3dContextCreate の