Microsoft DirectX 8.0 (Visual Basic)

DirectPlay8Client.Send

サーバーにデータを送信する。メッセージは同期または非同期で送信することができる。

Send(buffer() As BYTE, _
    lTimeOut As Long, _
    [lFlags As CONST_DPNSENDFLAGS]) As Long

指定項目

buffer()
送信するデータを記述する BYTE 型の配列。
lTimeOut
メッセージの送信を待つ時間 (ミリ秒単位)。メッセージが lTimeOut 値で送信されていない場合、メッセージは送信されない。メッセージの送信に対してタイム アウトが必要でない場合は、このパラメータを 0 に設定する。
lFlags
送信動作を記述するフラグ。CONST_DPNSENDFLAGS 列挙で定義された次の 1 つ以上のフラグを設定できる。

戻り値

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

エラー コード

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

DPNERR_INVALIDFLAGS
DPNERR_TIMEDOUT

注意

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