Platform SDK: DirectX

DirectPlay4.CreatePlayer

DirectPlay4.CreatePlayer メソッドは、現在のセッションに対するローカル プレーヤーを作成する。

object.CreatePlayer(friendlyName As String, _
    formalName As String, _
    receiveEvent As Long, _
    flags As CONST_DPPLAYERFLAGS) As Long

パラメータ

object
DirectPlay4 オブジェクトを表すオブジェクト式。
friendlyName
作成されるプレーヤーを識別し、そのプレーヤーにアクセスするために使用するハンドル。このトークン識別子は、formalName とは異なるものでなければならない。
formalName
作成されるプレーヤーを識別し、そのプレーヤーにアクセスするために使用するハンドル。このトークン識別子は、friendlyName とは異なるものでなければならない。
receiveEvent
アプリケーションによって作成されるイベント。DirectPlay は、このプレーヤーに対して送信されたメッセージを受信したときに、このイベントを発生させる。
flags
プレーヤーのタイプを示すフラグ。デフォルト (flags = 0) は、観客ではなく、サーバー プレーヤーではないプレーヤーである。
DPPLAYER_SERVERPLAYER
プレーヤーは、クライアント/サーバー通信のサーバー プレーヤーである。サーバー プレーヤーを作成できるのは、ホストだけである。1 つのセッションに対するサーバー プレーヤーは、1 人だけである。このフラグが設定されている場合、CreatePlayer は常に DPID_SERVERPLAYER のプレーヤー ID を返す。
DPPLAYER_SPECTATOR
プレーヤーは観客として作成される。観客プレーヤーの動作は、アプリケーションによって完全に定義される。DirectPlay は、このフラグを単純に伝承する。

戻り値

成功すれば、一意のプレーヤー ID を返す。

エラー コード

失敗すればエラーが発生し、Err.Number に次のいずれかの値が設定される。

DPERR_CANTADDPLAYER
DPERR_CANTCREATEPLAYER
DPERR_CONNECTIONLOST
DPERR_INVALIDFLAGS
DPERR_INVALIDPARAMS
DPERR_NOCONNECTION

注意

単一のプロセスで、複数のローカル プレーヤーを持つことができる。これらのプレーヤーは、DirectPlay オブジェクトを介して、同じコンピュータ上のほかのプレーヤーや、リモート コンピュータ上のプレーヤーと通信する。

このメソッドは、適切に終了すると、DPSYS_CREATEPLAYERORGROUP システム メッセージをセッション内のすべてのプレーヤーに送信し、新しいプレーヤーがセッションに参加したことを伝える。デフォルトでは、すべてのローカル プレーヤーが、すべてのシステム メッセージのコピーを受信する。

アプリケーションでは、返されたプレーヤー ID を使用し、メッセージの送信やデータの関連付けのためにプレーヤーを識別する必要がある。DirectPlay によって割り当てられるプレーヤーとグループの ID は、セッション内では常に一意である。

以下のことを実行できるのは、プレーヤーを作成したアプリケーションだけである。

アプリケーションがセッションを閉じると、作成されたローカル プレーヤーは、自動的に破棄される。セッションのホストまたはプレーヤーを作成したアプリケーションは、DirectPlay4.DestroyPlayer メソッドを使用して、いつでもプレーヤーを破棄することができる。

参照

DirectPlay4.GetDPEnumPlayersDirectPlay4.GetPlayerFlagsDirectPlay4.SendDirectPlay4.SetPlayerDataDirectPlay4.SetPlayerNameDirectX7.CreateEvent