Platform SDK: DirectX

DirectPlayCreate

この関数はもう使用されていないが、DirectX 3 を使用して作成されたアプリケーションとの互換性を保つために残されている。アプリケーションで目的の DirectPlay インターフェイスを作成するときは CoCreateInstance を直接使用することを推奨する。CoCreateInstance を使用すると、IDirectPlay インターフェイスを取得して、QueryInterface により IDirectPlay4 インターフェイスにアクセスし、IDirectPlay インターフェイスを解放しなくても IDirectPlay4 インターフェイスを直接取得できる。

DirectPlayCreate 関数は、新しい DirectPlay オブジェクトを作成し、IDirectPlay インターフェイス ポインタを取得する。アプリケーションで lpGUIDSP パラメータに GUID_NULL が指定された場合、この関数は、DirectPlay オブジェクトは作成するが、サービス プロバイダは初期化しない。アプリケーションは、IDirectPlay4::InitializeConnection メソッドを呼び出してサービス プロバイダまたはロビー プロバイダを初期化する。

アプリケーションは、サービス プロバイダの GUID (DirectPlayEnumerate を参照すること) を指定して、バインドするサービス プロバイダを指定できる。

最新の DirectPlay 機能を使用するために、アプリケーションは QueryInterface メソッドを使用して IDirectPlay4 または IDirectPlay4A インターフェイス ポインタを取得する必要がある。

HRESULT WINAPI DirectPlayCreate(
  LPGUID lpGUIDSP,
  LPDIRECTPLAY FAR *lplpDP,
  IUnknown *lpUnk
);

パラメータ

lpGUIDSP
DirectPlay オブジェクトを初期化するときに使用するサービス プロバイダの GUID へのポインタ。初期化しないで DirectPlay オブジェクトを作成するには、GUID_NULL へのポインタを渡す。
lplpDP
有効な IDirectPlay インターフェイスにより初期化するインターフェイス ポインタへのポインタ。アプリケーションでは、QueryInterface メソッドを使用して、IDirectPlay2IDirectPlay4 インターフェイス (UNICODE 文字列)、または IDirectPlay2AIDirectPlay4A インターフェイス (ANSI 文字列) を取得する必要がある。
lpUnk
含まれている IUnknown へのポインタ。このパラメータは、将来 COM 集合化機能と互換性をとるために用意されている。ただし、現在はこのパラメータに NULL 以外の値を指定すると DirectPlayCreate からエラーが返される。

戻り値

成功した場合は DP_OK を返す。失敗した場合は、次のエラー値のいずれかを返す。

CLASS_E_NOAGGREGATION
DPERR_EXCEPTION
DPERR_INVALIDPARAMS
DPERR_UNAVAILABLE

DirectPlay オブジェクトを作成できなかった場合は、DPERR_UNAVAILABLE を返す。指定された GUID が無効な場合は、DPERR_INVALIDPARAMS を返す。

注意

この関数は、DirectPlay オブジェクトを初期化して、それが成功した場合はそのオブジェクトへのポインタを設定しようとする。アプリケーションは、使用可能なサービス プロバイダのタイプを判定するために、初期化処理の直前に DirectPlayEnumerate 関数を呼び出す (DirectPlayEnumerate 関数により DirectPlayCreatelpGUIDSP パラメータが設定される)。

この関数は、IDirectPlay インターフェイスへのポインタを返す。カレント インターフェイスは、IDirectPlay4IDirectPlay4A であり、これらはこの IDirectPlay インターフェイスで QueryInterface メソッドを呼び出して取得する必要がある。詳細については、DirectPlay インターフェイスの概要を参照すること。

必要条件

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dplay.h で宣言。
  インポート ライブラリ : dplayx.lib を使用。

参照

IDirectPlay4::InitializeConnectionDirectPlayEnumerate