次の方法で共有


MessageEnumerator.RemoveCurrent メソッド (TimeSpan)

キューから現在のメッセージを削除し、そのメッセージを呼び出し元アプリケーションに返します。削除するメッセージがある場合、メソッドはすぐにメッセージを返します。削除するメッセージがない場合、メソッドは新しいメッセージが到達するまで指定のタイムアウト時間だけ待機します。

Overloads Public Function RemoveCurrent( _
   ByVal timeout As TimeSpan _) As Message
[C#]
public Message RemoveCurrent(TimeSpantimeout);
[C++]
public: Message* RemoveCurrent(TimeSpantimeout);
[JScript]
public function RemoveCurrent(
   timeout : TimeSpan) : Message;

パラメータ

  • timeout
    メッセージがキューに到達するまで待機する時間間隔。

戻り値

キューで利用できる最初のメッセージを参照する Message

例外

例外の種類 条件
ArgumentException timeout パラメータに指定された値が無効です。
MessageQueueException タイムアウトの時間が経過しました。

解説

RemoveCurrent は、カーソルの現在の位置にあるメッセージを削除し、返します。カーソルがキューの最後にあるときは、メソッドのこのオーバーロードは、メッセージが使用できるようになるか、 timeout パラメータによって指定される時間が経過するまで待機します。

キュー ジャーナリングを使用している場合は、メッセージを削除したときにジャーナル キューにコピーが保存されます。これは、 MessageQueue クラスの Receive メソッドと同じ動作です。

現在のメッセージを削除すると、カーソルは次のメッセージに移動します。 RemoveCurrent を呼び出した後で MoveNext を呼び出す必要はありません。

トランザクション キューに対してこのオーバーロードを呼び出した場合、メッセージ キューは単一の内部トランザクションを作成します。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

MessageEnumerator クラス | MessageEnumerator メンバ | System.Messaging 名前空間 | MessageEnumerator.RemoveCurrent オーバーロードの一覧 | MoveNext | Current