MSMQQueueInfo.Delete
A version of this page is also available for
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 |