次の方法で共有


MessageQueue.Delete メソッド

メッセージ キュー サーバーのキューを削除します。

Public Shared Sub Delete( _
   ByVal path As String _)
[C#]
public static void Delete(stringpath);
[C++]
public: static void Delete(String* path);
[JScript]
public static function Delete(
   path : String);

パラメータ

  • path
    削除するキューの場所。

例外

例外の種類 条件
ArgumentException path パラメータが null 参照 (Visual Basic では Nothing) または空の文字列 ("") です。
MessageQueueException path パラメータの構文が無効です。

または

メッセージ キューの API にアクセスしたときにエラーが発生しました。

解説

path パラメータの構文は、キューの種類によって異なります。

キューの種類 構文
パブリック キュー MachineName\ QueueName
プライベート キュー MachineName\Private$\ QueueName

構文の詳細については、 Path プロパティのトピックを参照してください。

FormatName または Label を使用してキューのパスを記述することもできます。

参照 構文
書式名 FormatName:[ format name ]
ラベル Label:[ label ]

このメソッドが各種のワークグループ モードで使用できるかどうかを次の表に示します。

ワークグループ モード 使用可否
ローカル コンピュータ いいえ
ローカル コンピュータ + 直接書式名 いいえ
リモート コンピュータ いいえ
リモート コンピュータ + 直接書式名 いいえ

使用例

[Visual Basic, C#, C++] メッセージ キューのキューが存在する場合に、そのメッセージ キューのキューを削除する例を次に示します。

 
Imports System
Imports System.Messaging

Namespace MyProject

    '/ <summary>
    '/ Provides a container class for the example.
    '/ </summary>
    Public Class MyNewQueue


        '**************************************************
        ' Provides an entry point into the application.
        '         
        ' This example verifies existence and attempts to 
        ' delete a queue.
        '**************************************************

        Public Shared Sub Main()

            ' Determine whether the queue exists.
            If MessageQueue.Exists(".\myQueue") Then

                Try

                    ' Delete the queue.
                    MessageQueue.Delete(".\myQueue")

                Catch e As MessageQueueException

                    If e.MessageQueueErrorCode = _
                        MessageQueueErrorCode.AccessDenied Then

                        Console.WriteLine("Access is denied. " _
                            + "Queue might be a system queue.")
                    End If

                    ' Handle other sources of exceptions as necessary.

                End Try

            End If


            Return

        End Sub 'Main

    End Class 'MyNewQueue 
End Namespace 'MyProject

[C#] 
using System;
using System.Messaging;

namespace MyProject
{
    /// <summary>
    /// Provides a container class for the example.
    /// </summary>
    public class MyNewQueue
    {

        //**************************************************
        // Provides an entry point into the application.
        //         
        // This example verifies existence and attempts to 
        // delete a queue.
        //**************************************************

        public static void Main()
        {

            // Determine whether the queue exists.
            if (MessageQueue.Exists(".\\myQueue"))
            {
                try
                {
                    // Delete the queue.
                    MessageQueue.Delete(".\\myQueue");
                }
                catch(MessageQueueException e)
                {
                    if(e.MessageQueueErrorCode == 
                        MessageQueueErrorCode.AccessDenied)
                    {
                        Console.WriteLine("Access is denied. " + 
                            "Queue might be a system queue.");
                    }

                    // Handle other sources of MessageQueueException.
                }

            }
        
            return;
        }

    }
}

[C++] 
#using <mscorlib.dll>
#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;

int main() 
{
    // Determine whether the queue exists.
    if (MessageQueue::Exists(S".\\myQueue")) 
    {
        try 
        {
            // Delete the queue.
            MessageQueue::Delete(S".\\myQueue");
        }
        catch (MessageQueueException* e) 
        {
            if (e->MessageQueueErrorCode == 
                MessageQueueErrorCode::AccessDenied) 
            {
                Console::WriteLine(S"Access is denied. Queue might be a system queue.");
            }
            // Handle other sources of MessageQueueException.
        }

    }

    return 0;
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

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

.NET Framework セキュリティ:

参照

MessageQueue クラス | MessageQueue メンバ | System.Messaging 名前空間 | Create | Close | Path