Microsoft DirectX 8.0 (Visual Basic)

DirectPlay8Peer.Connect

サーバーへの接続を確立する。一度接続が確立すると、オブジェクト上の通信チャネルが開いてアクティブになり、アプリケーションはメッセージの到着を待機する。接続が完了するまで、DirectPlay8Peer.SendTo メソッドを使用してメッセージを送信できない。

このメソッドを呼び出す前に、DirectPlay8Peer.EnumHosts を呼び出してアプリケーションの記述を取得する必要がある。EnumHosts メソッドは、ホストされているアプリケーションごとに DPN_APPLICATION_DESC 型を返す。型は、アプリケーションの GUID など、アプリケーションを記述する。

アプリケーションの GUID が必要ない場合でも、指定されれば Microsoft® DirectPlay® は確認を実行する。

ホストへの接続が要求された場合は、ホストのメッセージ ハンドラに DirectPlay8Event.IndicateConnect メソッドが呼び出される。ホストは、この接続を許可または拒否することができる。どちらの場合も、ホストがアクションを実行すると、クライアント メッセージ ハンドラの DirectPlay8Event.ConnectComplete メソッドが呼び出されて、応答を送信する。

Connect(AppDesc As DPN_APPLICATION_DESC, _
    Address As DirectPlay8Address, _
    DeviceInfo As DirectPlay8Address, _
    lFlags As Long, _
    UserData As Any, _
    UserDataSize As Long) As Long

指定項目

AppDesc
アプリケーションを記述する DPN_APPLICATION_DESC 型。このメソッドで使用されるのは、この型のメンバのうちの一部だけである。この型で設定する必要がある唯一のメンバは、guidApplication メンバである。guidInstancePassword、および lFlags も設定できる。
Address
ホストしているコンピュータへの接続に使用するアドレス情報を指定する DirectPlay8Address オプション オブジェクト。
DeviceInfo
列挙するサービス プロバイダおよび使用する設定を指定する DirectPlay8Address オブジェクト。
lFlags
接続モードを記述するフラグ。次のフラグを設定できる。
DPNOP_SYNC
接続要求を同期をとりながら処理する。このフラグが設定されている場合、DirectPlay は DirectPlay8Event.ConnectComplete メソッドを呼び出さない。
UserData
アプリケーション固有のユーザー データ。
UserDataSize
UserData パラメータに保持されるデータのサイズ。

戻り値

この処理に対する非同期ハンドルを返す。これは、要求が非同期で処理される場合に、要求を取り消すために DirectPlay8Peer.CancelAsyncOperation メソッドの lAsyncHandle パラメータで使用されるハンドルである。

エラー コード

失敗した場合は、Err.Number に次のいずれかの値が設定される。

DPNERR_NOCONNECTION
DPNERR_INVALIDPASSWORD
DPNERR_INVALIDFLAGS
DPNERR_INVALIDINTERFACE
DPNERR_INVALIDAPPLICATION
DPNERR_NOTHOST
DPNERR_SESSIONFULL
DPNERR_HOSTREJECTEDCONNECTION
DPNERR_INVALIDINSTANCE

注意

列挙は、接続中であれば複数同時に実行することができるが、1 つのオブジェクトで利用できるのは 1 つの接続だけである。1 つ以上のアプリケーションへの接続を確立するには、別のオブジェクトを作成しなければならない。つまり、1 つのオブジェクトで利用できるのは、1 つの実行アプリケーションだけである。ほかの接続を実行中に DirectPlay8Peer.Connect を呼び出すと、エラーが返される。