Microsoft DirectX 8.0 (Visual Basic)

DirectPlay8Peer.CancelAsyncOperation

非同期要求を取り消す。デフォルトでは、DirectPlay8Peer クラスの多くのメソッドが非同期に実行される。状況に応じて、要求が処理される前にその要求を取り消したい場合もある。このクラスで非同期に実行できるすべてのメソッドは、lAsyncHandle パラメータを返す。

このメソッドの lAsyncHandle パラメータに要求の lAsyncHandle を渡すことによって、特定の要求が取り消される。このメソッドを呼び出し、hAsyncHandle パラメータに 0 を、lFlags パラメータに DPNCANCEL_ALL_OPERATIONS を指定することによって、待機中のすべての非同期処理を取り消すことができる。特定のハンドルがこのメソッドに指定された場合は、lFlags パラメータに 0 を渡す必要がある。

CancelAsyncOperation(lAsyncHandle As Long, _
    lFlags As CONST_DPNCANCELFLAGS)

指定項目

lAsyncHandle
停止する非同期処理のハンドル。この値を 0 に設定して、すべての要求または特定の種類の非同期要求を停止することができる。取り消す要求の特定のハンドルが指定された場合、lFlags パラメータは 0 にする必要がある。
lFlags
取り消す非同期要求を指定するフラグ。このフラグに CONST_DPNCANCELFLAGS 列挙のいずれかのフラグを設定できる。

エラー コード

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

DPNERR_PENDING
DPNERR_INVALIDFLAGS
DPNERR_CANNOTCANCEL
DPNERR_INVALIDHANDLE

注意

DirectPlay8Peer.SendTo メソッドから返されたハンドルを指定すると、送信要求を取り消すことができる。DirectPlay8Event.SendComplete メソッドは、メッセージが DPNSEND_NOCOMPLETE フラグを設定して送信された場合を除き、その後も呼び出される。DirectPlay8Peer.CancelAsyncOperation を呼び出して送信処理を取り消した場合、DirectPlay8Event.SendComplete メソッドに渡された DPNMSG_SEND_COMPLETE 型の hResultCode メンバに、DPNERR_CANCELLED が設定される。