MessageQueueErrorCode 列舉

定義

識別在訊息佇列應用程式內發生的錯誤來源,並產生 MessageQueueException 例外狀況。

此 API 支援此產品基礎結構,但無法直接用於程式碼之中。

public enum class MessageQueueErrorCode
public enum MessageQueueErrorCode
type MessageQueueErrorCode = 
Public Enum MessageQueueErrorCode
繼承
MessageQueueErrorCode

欄位

AccessDenied -1072824283

訊息文字:拒絕存取。拒絕存取指定的佇列或電腦。 如果傳回此錯誤,請確認您具有作業的存取權限,例如建立、刪除或設定佇列的屬性。 如需變更佇列存取權限的資訊,請參閱 MessageQueueAccessRightsSetPermissions

BadSecurityContext -1072824267

訊息文字:不正確的安全性內容。
資訊安全內容已損毀。

Base -1072824320

Message Queuing 不會傳回這個錯誤碼。

BufferOverflow -1072824294

訊息文字:提供給 MQReceiveMessage 之用於擷取訊息主體的緩衝區太小。 訊息未從佇列中移除,且已複製適合此緩衝區的部分訊息主體。

CannotCreateCertificateStore -1072824209

訊息文字:無法建立內部憑證的憑證存放區。
如果您無權管理自己的設定檔,訊息佇列就會傳回此錯誤。

CannotCreateHashEx -1072824191

訊息文字:無法建立已驗證訊息的雜湊物件。
如需雜湊演算法的詳細資訊,請參閱 Message 類別的 HashAlgorithm 屬性。

CannotCreateOnGlobalCatalog -1072824201

訊息文字:無法建立指定通用類別伺服器上的物件。

CannotGetDistinguishedName -1072824194

訊息文字:無法擷取本機電腦的辨別名稱。

CannotGrantAddGuid -1072824206

訊息文字:無法授與「加入 Guid」使用權限給目前的使用者。

CannotHashDataEx -1072824193

訊息文字:無法雜湊已驗證訊息的資料。

CannotImpersonateClient -1072824284

訊息文字:RPC 伺服器無法模擬用戶端應用程式,因此無法驗證安全認證。
如果目錄服務伺服器無法模擬用戶端應用程式,訊息佇列就會傳回此錯誤。 這對驗證安全性認證是必要的。

CannotJoinDomain -1072824202

訊息文字:無法在 Windows 2000 網域上聯結訊息佇列企業版。

CannotLoadMsmqOcm -1072824205

訊息文字:無法載入 MSMQOCM.DLL 程式庫。

CannotOpenCertificateStore -1072824208

訊息文字:無法開啟內部憑證的憑證存放區。
如果您無權管理自己的設定檔,訊息佇列就會傳回此錯誤。

CannotSetCryptographicSecurityDescriptor -1072824212

訊息文字:無法設定密碼編譯金鑰的安全性描述元 (Security Descriptor)。
如需密碼編譯提供者的資訊,請參閱 CryptographicProviderTypeAuthenticationProviderType

CannotSignDataEx -1072824192

訊息文字:無法在傳送已驗證訊息之前簽署資料。
如需簽署資料的詳細資訊,請參閱 Message 類別的 DigitalSignature 屬性。

CertificateNotProvided -1072824211

訊息文字:使用者嘗試不使用憑證傳送已經驗證的訊息。
如果傳送的應用程式嘗試使用資訊安全內容資訊來驗證訊息,且資訊安全內容不包含憑證,訊息佇列就會傳回此錯誤。 如需憑證的詳細資訊,請參閱 Message 類別的 SenderCertificate 屬性。

ComputerDoesNotSupportEncryption -1072824269

訊息文字:電腦不支援加密作業。
當應用程式要求加密且電腦 (來源或目的地) 不支援加密作業時,訊息佇列就會傳回此錯誤。 傳回此錯誤時,加密作業會失敗。 如需使用加密的詳細資訊,請參閱 EncryptionRequiredEncryptionAlgorithm

CorruptedInternalCertificate -1072824275

訊息文字:內部訊息佇列憑證已經損毀。
此錯誤僅適用於 Message Queuing 1.0。

CorruptedPersonalCertStore -1072824271

訊息文字:個人憑證存放區已經損毀。
當 Microsoft Internet Explorer 個人憑證存放區已損毀時,訊息佇列就會傳回此錯誤。

CorruptedQueueWasDeleted -1072824216

訊息文字:因為 .ini 檔已損毀,所以已經刪除 LQS 中佇列的 .ini 檔。

CorruptedSecurityData -1072824272

訊息文字:加密函式已經失敗。

CouldNotGetAccountInfo -1072824265

訊息文字:無法擷取使用者帳戶資訊。

CouldNotGetUserSid -1072824266

訊息文字:無法從執行緒語彙基元擷取 SID 資訊。
如需傳送者識別碼的詳細資訊,請參閱 Message 類別的 SenderId 屬性。

DeleteConnectedNetworkInUse -1072824248

訊息文字:無法刪除連線網路;它正在使用中。
如果因為指定的連線網路已定義於至少一部其他電腦而無法刪除該網路,訊息佇列就會傳回此錯誤。 請從所有連線網路清單移除連線網路,然後嘗試再次刪除它。

DependentClientLicenseOverflow -1072824217

訊息文字:已經到達這個訊息佇列伺服器可以服務的相依用戶端數目上限。

DsError -1072824253

訊息文字:內部目錄服務錯誤。

DsIsFull -1072824254

訊息文字:目錄服務已滿。
如果資訊存放區已滿,訊息佇列就會傳回此錯誤。 此錯誤僅適用於 Message Queuing 1.0。

DtcConnect -1072824244

訊息文字:無法連接至 MS DTC。
如果無法連線到 Microsoft Distributed Transaction Coordinator,訊息佇列就會傳回此錯誤。

EncryptionProviderNotSupported -1072824213

訊息文字:訊息佇列不支援密碼編譯服務提供者。

FailVerifySignatureEx -1072824190

訊息文字:已接收訊息的簽章無效。

FormatNameBufferTooSmall -1072824289

訊息文字:提供給 API 的格式名稱緩衝區太小,無法容納格式名稱。

Generic -1072824319

訊息文字:泛用錯誤。
如果無法識別更具體的來源,訊息佇列就會傳回此錯誤。

GuidNotMatching -1072824200

訊息文字:無法使用符合電腦安裝的 GUID 來建立訊息佇列組態物件。 您必須先解除安裝訊息佇列,然後再重新安裝。

IllegalContext -1072824229

訊息文字:無效的內容參數。

IllegalCriteriaColumns -1072824264

訊息文字:無效的 MQCOLUMNS 參數。
如果您使用的是 MessagePropertyFilter 類別,且已針對所有布林值選取 false,並針對所有整數值選取零 (0),訊息佇列就會傳回此錯誤。

IllegalCursorAction -1072824292

訊息文字:指定給 MQReceiveMessage 的 MQ_ACTION_PEEK_NEXT 無法在目前的游標位置使用。
MoveNext 無法在目前游標位置使用。

IllegalEnterpriseOperation -1072824207

訊息文字:訊息佇列服務物件的作業無效。

IllegalFormatName -1072824290

訊息文字:指定的格式名稱無效。 如需有效的格式名稱語法選項,請參閱 MessageQueue 類別的 FormatName 屬性。

IllegalMessageProperties -1072824255

訊息文字:不合法的 MQQMPROPS 參數,它是 null 或擁有零個屬性。
不合法的訊息屬性,為 null 或具有零個屬性。

IllegalOperation -1072824220

訊息文字:外部訊息佇列系統上的作業無效。

IllegalPrivateProperties -1072824197

私用屬性參數值無效。 這可能是因為其具有 null 值或已指定零個屬性。

IllegalPropertyId -1072824263

訊息文字:無效的屬性識別項值。

IllegalPropertySize -1072824261

訊息文字:不合法的屬性緩衝區大小。
如果訊息識別碼或相互關聯識別碼的指定緩衝區大小不正確,訊息佇列就會傳回此錯誤。 如需訊息識別碼的詳細資訊,請參閱 Message 類別的 IdCorrelationId 屬性。

IllegalPropertyValue -1072824296

訊息文字:無效的屬性值。

IllegalPropertyVt -1072824295

訊息文字:無效的 VARTYPE 值。

IllegalQueuePathName -1072824300

訊息文字:無效的佇列路徑名稱。
如需有效的路徑語法選項,請參閱 MessageQueue 類別的 Path 屬性。

IllegalQueueProperties -1072824259

訊息文字:不合法的 MQQUEUEPROPS 參數,它是 null 或擁有零個屬性。
如果您使用 MessageQueueCriteria 類別,並呼叫了 ClearAll() 或尚未指定用於篩選佇列的任何準則,訊息佇列就會傳回此錯誤。 如需篩選佇列搜尋準則的詳細資訊,請參閱 MessageQueueCriteria 類別或 GetPublicQueues

IllegalRelation -1072824262

訊息文字:限制中的關聯值無效。

IllegalRestrictionPropertyId -1072824260

訊息文字:MQRESTRICTION 參數中的 propid 值無效。
屬性識別碼值對限制無效。

IllegalSecurityDescriptor -1072824287

訊息文字:指定的安全性描述元不是有效的安全性描述元 (Security Descriptor)。

IllegalSort -1072824304

訊息文字:指定的排序不合法 (例如,重複的資料行)。

IllegalSortPropertyId -1072824228

訊息文字:MQSORTSET 中的 propid 值無效。
屬性識別碼值對排序無效。

IllegalUser -1072824303

訊息文字:使用者的使用者名稱無效。
如果應用程式透過無效的使用者名稱連線到訊息佇列,訊息佇列就會傳回此錯誤。

InsufficientProperties -1072824257

訊息文字:輸入參數中沒有指定作業需要的所有屬性。

InsufficientResources -1072824281

訊息文字:沒有足夠的資源執行作業。
例如,如果沒有足夠記憶體可完成作業,訊息佇列就會傳回此錯誤。 傳回此錯誤時,作業會失敗。

InvalidCertificate -1072824276

訊息文字:使用者憑證無效。
如果 Message 類別的 SenderCertificate 屬性中所指定安全性憑證無效,或憑證未正確置於 Microsoft Internet Explorer 個人憑證存放區,訊息佇列就會傳回此錯誤。

InvalidHandle -1072824313

訊息文字:傳遞至函式的控制代碼無效。
如果指定的佇列控制代碼無效,訊息佇列就會傳回此錯誤。

InvalidOwner -1072824252

訊息文字:物件擁有人無效。 例如,因為佇列管理員物件無效,所以 CreateQueue 會失敗。
例如,如果應用程式嘗試在未安裝訊息佇列的電腦上建立佇列,訊息佇列就會傳回此錯誤。

InvalidParameter -1072824314

訊息文字:傳遞至函式的參數無效。
如果作業所提供的其中一個參數無效,訊息佇列就會傳回此錯誤。

IOTimeout -1072824293

訊息文字:接收或窺視 (Peek) 訊息逾時已過期。
如果在新訊息抵達佇列之前已到達 ReceivePeek 呼叫中所指定的逾時期限,訊息佇列就會傳回此錯誤。 只有在佇列中尚未存在任何訊息時,才會發生此情況;如果訊息存在,則這兩個方法會立即傳回。

LabelBufferTooSmall -1072824226

訊息文字:提供給 API 的標籤緩衝區太小。

MachineExists -1072824256

訊息文字:網站上已經存在使用相同名稱的電腦。

MachineNotFound -1072824307

訊息文字:找不到指定的電腦。
如果在目錄服務中找不到佇列的電腦,訊息佇列就會傳回此錯誤。

MessageAlreadyReceived -1072824291

訊息文字:游標目前指向的訊息已經被另一個處理或另一個呼叫從佇列移除以接收訊息而不使用此游標。
當某些其他游標、應用程式或系統管理員已經從佇列移除訊息時,訊息佇列就會傳回此錯誤。 此錯誤最有可能發生在使用 MessageEnumerator 類別時,例如透過呼叫 GetMessageEnumerator2()GetEnumerator() 所傳回的執行個體。

MessageNotFound -1072824184

訊息文字:找不到指定的訊息。
如果在佇列中找不到指定的訊息,訊息佇列就會傳回此錯誤。

MessageStorageFailed -1072824278

訊息文字:無法儲存可復原訊息或日誌訊息。 沒有傳送對應的訊息。
如果本機電腦無法儲存可修復訊息 (保證在發生網路問題時傳遞的訊息) 或日誌訊息,訊息佇列就會傳回此錯誤。 如需這些訊息傳送選項的詳細資訊,請參閱 Message 類別的 RecoverableUseJournalQueue 屬性。

MissingConnectorType -1072824235

訊息文字:當傳送通知或安全訊息時,必須有連接子型別。
當應用程式設定通常是由訊息佇列所設定的屬性,但未指定所要使用的連接器時,訊息佇列就會傳回此錯誤。 如需連接器型別的詳細資訊,請參閱 Message 類別的 ConnectorType 屬性。

MqisReadOnlyMode -1072824224

訊息文字:MQIS 資料庫是唯讀模式。

MqisServerEmpty -1072824225

訊息文字:MQIS 伺服器 (登錄) 的清單是空的。 此錯誤僅適用於 Message Queuing 1.0。

NoDs -1072824301

訊息文字:無法與這個站台的控制站建立連接。
如果應用程式無法存取目錄服務,訊息佇列就會傳回此錯誤。 如果傳回此錯誤,請確認存取目錄服務的權限。

NoEntryPointMsmqOcm -1072824204

訊息文字:找不到 MSMQOCM.DLL 程式庫中的進入點。

NoGlobalCatalogInDomain -1072824196

訊息文字:在指定的網域中找不到通用類別伺服器。

NoInternalUserCertificate -1072824273

訊息文字:使用者的內部訊息佇列憑證不存在。
如果未註冊內部憑證或註冊的憑證已損毀,訊息佇列就會傳回此錯誤。

NoMsmqServersOnDc -1072824203

訊息文字:在網域控制器上找不到訊息佇列伺服器。

NoMsmqServersOnGlobalCatalog -1072824195

訊息文字:在通用類別網域控制器上找不到訊息佇列伺服器。

NoResponseFromObjectServer -1072824247

訊息文字:物件擁有人沒有回應。
如果目錄服務伺服器沒有回應,訊息佇列就會傳回此錯誤。 傳回此錯誤時,作業的狀態為未知。

ObjectServerNotAvailable -1072824246

訊息文字:無法到達物件擁有人。
如果物件的目錄服務伺服器無法使用,訊息佇列就會傳回此錯誤。 傳回此錯誤時,作業會失敗。

OperationCanceled -1072824312

訊息文字:作業完成之前已被取消。

PrivilegeNotHeld -1072824282

訊息文字:用戶端沒有執行作業所需的權限。

Property -1072824318

訊息文字:一或多個傳遞屬性無效。

PropertyNotAllowed -1072824258

訊息文字:要求的作業屬性無效。

ProviderNameBufferTooSmall -1072824221

訊息文字:用於提供者名稱屬性的傳遞緩衝區太小。
如需提供者名稱的詳細資訊,請參閱 Message 類別的 AuthenticationProviderName 屬性。

PublicKeyDoesNotExist -1072824198

訊息文字:電腦的公開金鑰不存在。
如果能夠查詢目錄服務,但找不到增強金鑰,訊息佇列就會傳回此錯誤。 此錯誤僅適用於 Message Queuing 2.0。

PublicKeyNotFound -1072824199

訊息文字:找不到電腦的公開金鑰。
例如,如果您嘗試擷取執行 Message Queuing 1.0 之電腦的電腦屬性,或嘗試取得離線工作中的遠端電腦屬性,訊息佇列就會傳回此錯誤。 此錯誤僅適用於 Message Queuing 2.0。

QDnsPropertyNotSupported -1072824210

不支援 DNS 屬性做為尋找佇列的準則。
您無法擷取佇列的 DNS 路徑名稱。

QueueDeleted -1072824230

訊息文字:佇列已經被刪除。 將無法再使用這個佇列執行個體來接收訊息。 必須關閉佇列。

QueueExists -1072824315

訊息文字:相同路徑名稱的佇列已經註冊。
訊息佇列會在目錄服務中註冊公用佇列,並在本機電腦上註冊私用佇列。

QueueNotAvailable -1072824245

訊息文字:當從位於遠端電腦的佇列讀取時發生錯誤。

QueueNotFound -1072824317

訊息文字:佇列未在目錄服務中註冊。
如果找不到佇列,訊息佇列就會傳回此錯誤。 這包括未在目錄服務中註冊的公用佇列,以及不存在於訊息佇列命名空間的網際網路佇列。

RemoteMachineNotAvailable -1072824215

訊息文字:無法連接遠端電腦。

ResultBufferTooSmall -1072824250

訊息文字:提供的結果緩衝區太小。

SecurityDescriptorBufferTooSmall -1072824285

訊息文字:傳遞給 MQGetQueueSecurity 的緩衝區大小太小。
如果提供的安全性緩衝區對安全性描述元太小,訊息佇列就會傳回此錯誤。

SenderCertificateBufferTooSmall -1072824277

訊息文字:用於使用者憑證屬性的傳遞緩衝區太小。
如需使用者憑證的詳細資訊,請參閱 Message 類別的 SenderCertificate 屬性。

SenderIdBufferTooSmall -1072824286

訊息文字:用於使用者識別項屬性的傳遞緩衝區太小。
當提供的傳送者識別碼緩衝區太小時,訊息佇列就會傳回此錯誤。 如需傳送者識別碼的詳細資訊,請參閱 Message 類別的 SenderId 屬性。

ServiceNotAvailable -1072824309

訊息文字:無法取得訊息佇列服務。
如果應用程式無法連線到佇列管理員,訊息佇列就會傳回此錯誤。

SharingViolation -1072824311

訊息文字:共用違規。 因為獨佔式接收已經開啟佇列。
如果應用程式嘗試開啟具有專屬讀取權限的已開啟佇列,訊息佇列就會傳回此錯誤。 如需以專屬方式從佇列接收訊息的詳細資訊,請參閱 MessageQueue 類別的 DenySharedReceive 屬性。

SignatureBufferTooSmall -1072824222

訊息文字:用於簽章屬性的傳遞緩衝區太小。
如需簽章的詳細資訊,請參閱 Message 類別的 DigitalSignature 屬性。

StaleHandle -1072824234

訊息文字:已重新啟動佇列管理員服務。 佇列控制代碼已過時,應當關閉。
如果已在先前佇列管理員服務工作階段中取得指定的控制代碼,訊息佇列就會傳回此錯誤。

SymmetricKeyBufferTooSmall -1072824223

訊息文字:用於對稱金鑰屬性的傳遞緩衝區太小。
如需對稱金鑰的詳細資訊,請參閱 Message 類別的 DestinationSymmetricKey 屬性。

TransactionEnlist -1072824232

訊息文字:無法登記交易。

TransactionImport -1072824242

訊息文字:無法匯入交易。

TransactionSequence -1072824239

訊息文字:交易作業順序錯誤。

TransactionUsage -1072824240

訊息文字:交易用法錯誤。
如果嘗試開啟遠端佇列以從交易內進行讀取,或嘗試從交易內讀取來自非交易式佇列的訊息,訊息佇列就會傳回此錯誤。

UnsupportedAccessMode -1072824251

訊息文字:不支援指定的存取模式。
如果開啟佇列時指定的存取模式設定為無效值,或此存取模式與指定的共用模式不相容,訊息佇列就會傳回此錯誤。

UnsupportedFormatNameOperation -1072824288

訊息文字:指定的格式名稱不支援所要求的作業。
當指定的格式名稱不支援所要求作業時,訊息佇列就會傳回此錯誤。 這些作業包括透過指定直接格式名稱,來嘗試開啟佇列以接收訊息。

UnsupportedOperation -1072824214

訊息文字:工作群組安裝電腦不支援此作業。

UserBufferTooSmall -1072824280

訊息文字:請求失敗,因為使用者緩衝區太小,無法存放傳回的資訊。

WksCantServeClient -1072824218

訊息文字:訊息佇列獨立用戶端不能服務訊息佇列相依用戶端。

WriteNotAllowed -1072824219

訊息文字:因為正在安裝另一個 MQIS 伺服器,資料庫目前不允許進行寫入作業。

範例

下列範例會驗證消息佇列佇列是否存在,然後加以刪除。

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;
int 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 0;
}
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;
        }
    }
}
Imports System.Messaging



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

End Class

備註

列舉 MessageQueueErrorCode 提供傳訊作業期間錯誤狀況的詳細資訊。

使用 MessageQueueExceptionMessageQueueErrorCode 屬性來識別消息佇列錯誤的本質。 值 MessageQueueErrorCode 會決定要與錯誤產生關聯的文字字串。

適用於

另請參閱