Platform SDK: DirectX |
DirectX 7.0 の IDirectDraw7 インターフェイスに追加された新しいメソッドはないが、IDirectDraw7 と Direct3D の統合が強化されている。IDirectDraw7 オブジェクトは IDirect3D インターフェイスに対する QueryInterface をサポートしているが、同レベルのインターフェイスに対してしか QueryInterface を呼び出すことはできない。すなわち、DirectDraw オブジェクトから IDirect3D7 を取得したら、そのオブジェクトからそれ以前の Direct3D インターフェイスを取得することはできない。同様に、DirectDraw オブジェクトから以前の Direct3D インターフェイスを取得したら、そのオブジェクトから IDirect3D7 を取得することはできない。
さらに、IDirectDraw7 によって作成されたサーフェスで、Direct3D 関連の QueryInterface 呼び出しを行うことはできない (このような呼び出しを行うと E_NOINTERFACE が返される)。アプリケーションは、IDirectDraw4 以前のバージョンによって作成されたサーフェスからのみ IDirect3DTexture インターフェイスを取得できる。
以上のような理由から、従来の Direct3D インターフェイスを使用する場合は DirectDraw 7.0 インターフェイスは使用できないし、DirectX 7.0 Direct3D インターフェイスを使用する場合には DirectX 7.0 DirectDraw インターフェイスを使用する必要がある。
今回のバージョンでは、IDirectDraw7 インターフェイスを取得するための新しい DirectDraw オブジェクト作成関数、DirectDrawCreateEx が追加された。詳細については、次の「IDirectDraw7 インターフェイスの取得」で説明する。
[C++,Visual Basic]