Microsoft DirectX 8.0 (Visual Basic) |
サーバーにデータを送信する。メッセージは同期または非同期で送信することができる。
Send(buffer() As BYTE, _ lTimeOut As Long, _ [lFlags As CONST_DPNSENDFLAGS]) As Long
この処理に対する非同期ハンドルを返す。これは、要求が非同期で処理される場合に、要求を取り消すために DirectPlay8Client.CancelAsyncOperation メソッドの lAsyncHandle パラメータで使用されるハンドルである。
失敗した場合は、Err.Number に次のいずれかの値が設定される。
DPNERR_INVALIDFLAGS |
DPNERR_TIMEDOUT |
このメソッドは、サーバーのメッセージ ハンドラで DirectPlay8Event.Receive メソッドを呼び出す。Send 要求が完了すると、クライアントのメッセージ ハンドラで DirectPlay8Event.SendComplete メソッドが呼び出される。SendComplete メソッドは、DPNMSG_SEND_COMPLETE メッセージ型を保持する。要求が成功したか失敗したかは、このメッセージ型の hResultCode メンバに保持される。アプリケーションは IDirectPlay8Client、IDirectPlay8Server、または IDirectPlay8Peer で Close を呼び出す前や最終リリースをする前に、CancelAsyncOperation を呼び出して残っている Send をキャンセルすべきである。それに失敗すると予期せぬ結果が起きる。