Microsoft DirectX 8.0 (Visual Basic)

DirectPlay8Client.Connect

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

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

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

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

指定項目

AppDesc
アプリケーションを記述する DPN_APPLICATION_DESC 型。この型で設定する必要がある唯一のメンバは、guidApplication メンバである。このメソッドで使用されるのは、この型のメンバのうちの一部だけである。設定する必要があるメンバは、guidApplication だけである。また、guidInstance、pwszPassword、dwFlags、および dwSize を設定することもできる。
Address
ホストしているコンピュータへの接続に使用するアドレス情報を指定する DirectPlay8Address オプション オブジェクト。
DeviceInfo
サーバーとの接続に使用するネットワーク アダプタ (つまり、NIC やモデムなど) を指定する DirectPlay8Address オブジェクト。
lFlags
接続モードを記述する CONST_DPNOPERATIONS 列挙のフラグ。次のフラグを設定できる。
DPNOP_SYNC

接続要求を同期をとりながら処理する。このフラグを設定しても、DirectPlay8Event.ConnectComplete メソッドの呼び出しは生成されない。

UserData
アプリケーション固有のユーザー データ。
UserDataSize
UserData パラメータに保持されるデータのサイズ。

戻り値

この処理に対する非同期ハンドルを返す。これは、要求が非同期で処理される場合に、要求を取り消すために DirectPlay8Client.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 つの実行アプリケーションだけである。ほかの接続が進行中に DirectPlay8Client.Connect を呼び出すと、エラーが返される。