Share via


MSMQQueueInfo.Delete

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This method deletes an existing queue, but does not delete the MSMQQueueInfo object used to create the queue.

Syntax

HRESULT.Delete(void);

Parameters

None.

Return Value

The following table describes the common return values.

Value Description

S_OK

Success

E_INVALIDARG

One or more arguments are invalid

E_NOTIMPL

The function contains no implementation

E_OUTOFMEMORY

Out of memory

Remarks

Deleting the queue does not delete the MSMQQueueInfo object, only the existing reference to the queue in the directory service (for public queues) or the local computer (for private queues). You can still create a queue based on the current properties of the MSMQQueueInfo object.

Applications that are running offline cannot delete public queues while they are offline. Applications must have access to the directory service to delete a public queue.

When a public queue is deleted, some clients might still see the queue registered in the directory service after the queue is deleted.

Changes to the directory service (such as deleting a public queue) are propagated from domain controller to domain controller, which can cause delays in the availability of new information. Consequently, clients using a specific domain controller might still try to send messages to the queue, even though it is deleted.

Propagation delays, including communication network delays such as down links, are controlled by the MSMQ Administrator.

Private queues cannot be deleted if they are registered on a remote computer. Only local private queues can be deleted.

Requirements

Header mqoai.h
Library mqoa.lib
Windows Embedded CE Windows CE .NET 4.0 and later
Windows Mobile Windows Mobile Version 5.0 and later