Platform SDK: DirectX

DirectDrawCreateEx

DirectDrawCreateEx 関数は、最新の Direct3D インターフェイス セットをサポートする DirectDraw オブジェクトのインスタンスを作成する。DirectX 7.0 で Direct3D の新機能を使用するには、この関数で DirectDraw オブジェクトを作成する。DirectDraw および Direct3D 間の関係の詳細については、「DirectDraw オブジェクトと Direct3D」および「Direct3D へのアクセス」を参照すること。

HRESULT WINAPI DirectDrawCreateEx(
  GUID FAR *lpGUID,        
  LPVOID *lplpDD,          
  REFIID iid,              
  IUnknown FAR *pUnkOuter  
); 

パラメータ

lpGUID
作成されるドライバを表すグローバル ユニーク識別子 (GUID) のアドレス。アクティブ ディスプレイ ドライバを示すには、このパラメータを NULL にする。また、デバッグのためにディスプレイ ドライバの動作を制御するには、以下のフラグのいずれかを渡すことができる。
DDCREATE_EMULATIONONLY
DirectDraw オブジェクトは、すべての機能にエミュレーションを使用する。つまり、ハードウェアサポート機能は利用しない。
DDCREATE_HARDWAREONLY
DirectDraw オブジェクトは、ハードウェアによってサポートされていない機能をエミュレートしない。サポートされていない機能を要求するメソッドを呼び出そうとすると失敗し、DDERR_UNSUPPORTED が返される。
lplpDD
呼び出しが成功した場合に、有効な IDirectDraw7 インターフェイス ポインタに設定する変数のアドレス。
iid
このパラメータは IID_IDirectDraw7 に設定しなければならない。その他のインターフェイスを指定した場合、この関数は失敗し、DDERR_INVALIDPARAMS を返す。
pUnkOuter
COM 処理機能との将来的な互換のためにある。ただし、現時点では、このパラメータを NULL に設定しないと、このメソッドはエラーを返す。

戻り値

成功すれば、DD_OK を返す。

失敗すれば、以下のエラー値のいずれかを返す。

DDERR_DIRECTDRAWALREADYCREATED
DDERR_GENERIC
DDERR_INVALIDDIRECTDRAWGUID
DDERR_INVALIDPARAMS
DDERR_NODIRECTDRAWHW
DDERR_OUTOFMEMORY

注意

この関数は、DirectDraw オブジェクトを初期化しようとする。呼び出しが成功すると、オブジェクトへのポインタを設定する。

マルチ モニタのシステムで lpGUID に NULL を指定すると、標準協調レベルが設定されている場合に、DirectDraw オブジェクトはエミュレーション モードで実行する。これらのシステムでハードウェア アクセラレータを使用するには、デバイスの GUID を指定する。詳細については、「MultiMon システムのデバイスとアクセラレータ」を参照すること。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 98 が必要。
  ヘッダー : ddraw.h で宣言。
  インポート ライブラリ : ddraw.lib を使用。