Share via


MSMQQueueInfo.Delete (Compact 2013)

3/26/2014

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

See Also

Reference

MSMQQueueInfo