MessageEnumerator.RemoveCurrent メソッド (MessageQueueTransactionType)
キューから現在のメッセージを削除し、そのメッセージを呼び出し元アプリケーションに返します。メッセージがキューに到達するまでのタイムアウトは指定されていません。
Overloads Public Function RemoveCurrent( _
ByVal transactionType As MessageQueueTransactionType _) As Message
[C#]
public Message RemoveCurrent(MessageQueueTransactionTypetransactionType);
[C++]
public: Message* RemoveCurrent(MessageQueueTransactionTypetransactionType);
[JScript]
public function RemoveCurrent(
transactionType : MessageQueueTransactionType) : Message;
パラメータ
- transactionType
メッセージと関連付けるトランザクション コンテキストの種類を示す、 MessageQueueTransactionType 値の 1 つ。
戻り値
キューで利用できる最初のメッセージを参照する Message 。
例外
例外の種類 | 条件 |
---|---|
InvalidEnumArgumentException | transactionType パラメータが、 MessageQueueTransactionType メンバの値ではありません。 |
解説
RemoveCurrent は transactionType パラメータで定義されたトランザクション コンテキストを使用して、カーソルの現在位置のメッセージを削除して返します。
既に、メッセージの受信に使用するスレッドに結び付けられた外部トランザクション コンテキストがある場合は、 transactionType パラメータに Automatic を指定します。メッセージを単一の内部トランザクションとして受信する場合は、 Single を指定します。トランザクション コンテキスト外部のトランザクション キューからメッセージを受信する場合は、 None を指定します。
キュー ジャーナリングを使用している場合は、メッセージを削除したときにジャーナル キューにコピーが保存されます。これは、 MessageQueue クラスの Receive メソッドと同じ動作です。
トランザクション キューを使う場合は、トランザクションをロールバックすると、 RemoveCurrent の呼び出しによって削除されたメッセージがあればキューに返されます。削除は、トランザクションがコミットされるまで取り消すことができません。
現在のメッセージを削除すると、カーソルは次のメッセージに移動します。 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 | MessageQueueTransactionType