DirectX 7.0 で Direct3D インターフェイスのセットをサポートする DirectDraw オブジェクトのインスタンスを作成します。 DirectX 7.0 で Direct3D の機能を使用するには、この関数を使用して DirectDraw オブジェクトを作成します。
構文
HRESULT DirectDrawCreateEx(
[in] GUID *lpGuid,
[out] LPVOID *lplpDD,
[in] REFIID iid,
[in] IUnknown *pUnkOuter
);
パラメーター
[in] lpGuid
作成するドライバーを表すグローバル一意識別子 (GUID) へのポインター。 アクティブなディスプレイ ドライバーを示すには NULL を指定するか、次のいずれかのフラグを渡して、デバッグ目的でアクティブなディスプレイ ドライバーの動作を制限できます。
DDCREATE_EMULATIONONLY
DirectDraw オブジェクトは、すべての機能にエミュレーションを使用します。ハードウェアでサポートされている機能は利用されません。
DDCREATE_HARDWAREONLY
DirectDraw オブジェクトは、ハードウェアでサポートされていない機能をエミュレートすることはありません。 サポートされていない機能を必要とするメソッドの呼び出しが失敗し、DDERR_UNSUPPORTEDが返されます。
[out] lplpDD
呼び出しが成功した場合に有効な IDirectDraw7 インターフェイス ポインターに設定される変数へのポインター。
[in] iid
このパラメーターは、IID_IDirectDraw7に設定する必要があります。 この関数は失敗し、他のインターフェイスが指定されている場合はDDERR_INVALIDPARAMSを返します。
[in] pUnkOuter
COM 集計機能との将来の互換性を確保します。 現在、このパラメーターが NULL でない場合、この関数はエラーを返します。
戻り値
関数が成功した場合、戻り値はDD_OK。
失敗した場合、関数は次のいずれかのエラー値を返すことができます。
- DDERR_DIRECTDRAWALREADYCREATED
- DDERR_GENERIC
- DDERR_INVALIDDIRECTDRAWGUID
- DDERR_INVALIDPARAMS
- DDERR_NODIRECTDRAWHW
- DDERR_OUTOFMEMORY
解説
この関数は、DirectDraw オブジェクトの初期化を試み、呼び出しが成功した場合に オブジェクトへのポインターを設定します。
複数のモニターがあるコンピューターでは、 lpGUID に NULL を指定した場合、DirectDraw オブジェクトは通常の協調レベルが設定されている場合にエミュレーション モードで実行されます。 これらのコンピューターでハードウェア アクセラレータを使用するには、デバイスの GUID を指定します。
LoadLibrary を使用して Ddraw.dll に明示的にリンクしてから、GetProcAddress を使用して DirectDrawCreateEx 関数にアクセスする必要があります。
要件
| 対象プラットフォーム | Windows |
| ヘッダー | ddraw.h |
| Library | Ddraw.lib |
| [DLL] | Ddraw.dll |