Platform SDK: DirectX

DirectDrawCreate

DirectDrawCreate 関数は、DirectDraw オブジェクトのインスタンスを作成する。この関数で作成した DirectDraw オブジェクトでは、最新の Direct3D インターフェイス セットはサポートされない。Direct3D の新機能を公開できる DirectDraw オブジェクトを作成するには、DirectDrawCreateEx 関数を使用する。

HRESULT WINAPI DirectDrawCreate(
  GUID FAR *lpGUID,        
  LPDIRECTDRAW FAR *lplpDD,  
  IUnknown FAR *pUnkOuter  
); 

パラメータ

lpGUID
作成されるドライバを表すグローバル ユニーク識別子 (GUID) のアドレス。アクティブ ディスプレイ ドライバを示すには、このパラメータを NULL にする。あるいは、デバッグのためにディスプレイ ドライバの動作を制御するには、以下のフラグの 1 つを渡すことができる。
DDCREATE_EMULATIONONLY
DirectDraw オブジェクトは、すべての機能にエミュレーションを使用する。つまり、ハードウェアサポート機能は利用しない。
DDCREATE_HARDWAREONLY
DirectDraw オブジェクトは、ハードウェアによってサポートされていない機能をエミュレートしない。サポートされていない機能を要求するメソッドを呼び出そうとすると失敗し、DDERR_UNSUPPORTED が返される。
lplpDD
呼び出しが成功した場合に、有効な IDirectDraw インターフェイス ポインタに設定する変数のアドレス。
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 NT 4.0 Service Pack 3 またはそれ以降が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : ddraw.h で宣言。
  インポート ライブラリ : ddraw.lib を使用。