Platform SDK: DirectX

IDirect3D7::CreateDevice

IDirect3D7::CreateDevice メソッドは、DrawPrimitive メソッドに使用するために、Direct3D デバイスを生成する。

HRESULT CreateDevice(
  REFCLSID rclsid,                    
  LPDIRECTDRAWSURFACE7 lpDDS,         
  LPDIRECT3DDEVICE7 *  lplpD3DDevice,
);

パラメータ

rclsid
新しいデバイスに対するクラス識別子。この値は、IID_IDirect3DTnLHalDevice、IID_IDirect3DHALDevice、IID_IDirect3DMMXDivice、または IID_IDirect3DRGBDevice である。ランプ エミュレーション デバイス用の IID_IDirect3DRampDevice は、IDirect3D2 以降のインターフェイスではサポートされない。ランプ エミュレーションを用いるときは、従来の IDirect3D2 インターフェイスを用いること。
lpDDS
デバイスのレンダリング ターゲットとなる DirectDrawSurface オブジェクトの IDirectDrawSurface7 インターフェイスのアドレス。DDSCAPS_3DDEVICE 能力を用いてサーフェスは 3-D デバイスとして生成された。
lplpD3DDevice
メソッドが返ったときに、新しい IDirect3DDevice7 インターフェイスをポイントするポインタのアドレス。

戻り値

成功すれば D3D_OK を返す。

失敗すればエラーを返す。このメソッドは、引数の 1 つが無効な場合には、DDERR_INVALIDPARAMS を返す。

注意

特定の Direct3D オブジェクトによって生成されるレンダリング デバイスは、同じ物理リソースを共有する。アプリケーションで単一の Direct3D オブジェクトから複数のレンダリング デバイスを作成できる場合でも、これらのデバイスは同じハードウェアを共有するため、パフォーマンスが著しく低下する。

従来の IDirect3D3 インターフェイスでは、このメソッドは IDirectDrawSurface4 および IDirect3DDevice3 インターフェイスへのポインタを受け取った。

IDirect3D7::CreateDevice を呼び出すと、DirectDraw サーフェス オブジェクトとは別個のデバイス オブジェクトを作成できる。このデバイスは、DirectDraw サーフェスをレンダリング ターゲットとして使用する。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン :DirectX 7.0 が必要。
  ヘッダー : d3d.h で宣言。

参照

IDirect3DDevice7Direct3D デバイスの作成Direct3D デバイス