Microsoft DirectX 8.0 (Visual Basic)

DirectPlay8Peer.SendTo

指定されたプレーヤーにデータを送信する。メッセージは同期または非同期で送信することができる。

SendTo(idSend As Long, _
    buffer() As BYTE, _
    lPriority As Long, _
    lTimeOut As Long, _
    lFlags As CONST_DPNSENDFLAGS) As Long

指定項目

idSend
データを受け取るプレーヤーの識別子を指定する Long 値。セッション内のすべてのプレーヤーにメッセージを送るには、CONST_DPNPLAYERGROUPFLAGS 列挙の DPNID_ALL_PLAYERS_GROUP 値をこのパラメータに設定する。
buffer()
送信するデータを記述する BYTE 型の配列。
lPriority
メッセージの優先順位。
lTimeOut
メッセージの送信を待つ時間 (ミリ秒単位)。メッセージが lTimeOut 値で送信されていない場合、メッセージは送信されない。メッセージの送信に対してタイム アウトが必要でない場合は、このパラメータを 0 に設定する。
lFlags
送信動作を記述するフラグ。CONST_DPNSENDFLAGS 列挙で定義された次の 1 つ以上のフラグを設定できる。

戻り値

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

エラー コード

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

DPNERR_INVALIDFLAGS
DPNERR_TIMEDOUT

注意

このメソッドは、受信者のメッセージ ハンドラに DirectPlay8Event.Receive メソッドを呼び出す。SendTo 要求が完了すると、送信側のメッセージ ハンドラに DirectPlay8Event.SendComplete メソッドが呼び出される。SendComplete メソッドは、DPNMSG_SEND_COMPLETE メッセージ型を保持する。要求が成功したか失敗したかは、このメッセージ型の hResultCode メンバに保持される。アプリケーションは IDirectPlay8ClientIDirectPlay8Server、または IDirectPlay8PeerClose を呼び出す前や最終リリースをする前に、CancelAsyncOperation を呼び出して残っている Send をキャンセルすべきである。それに失敗すると予期せぬ結果が起きる。