clear_message_queueT_clear_message_queueClearMessageQueueClearMessageQueue (Operator)

Name

clear_message_queueT_clear_message_queueClearMessageQueueClearMessageQueue — Schließen einer Warteschlange für Nachrichten.

Signatur

clear_message_queue( : : QueueHandle : )

Herror T_clear_message_queue(const Htuple QueueHandle)

void ClearMessageQueue(const HTuple& QueueHandle)

static void HMessageQueue::ClearMessageQueue(const HMessageQueueArray& QueueHandle)

void HMessageQueue::ClearMessageQueue() const

static void HOperatorSet.ClearMessageQueue(HTuple queueHandle)

static void HMessageQueue.ClearMessageQueue(HMessageQueue[] queueHandle)

void HMessageQueue.ClearMessageQueue()

Beschreibung

clear_message_queueclear_message_queueClearMessageQueueClearMessageQueueClearMessageQueue schließt ein Warteschlangenobjekt QueueHandleQueueHandleQueueHandleQueueHandlequeueHandle, dass zuvor durch den Operator create_message_queuecreate_message_queueCreateMessageQueueCreateMessageQueueCreateMessageQueue erzeugt wurde. Es werden alle Ressourcen freigegeben, die von der Warteschlange gehalten werden, einschließlich der eingereihten Nachrichtenobjekte und der in ihnen enthaltenen Datensätze.

Achtung

Nachdem die Warteschlangenobjekte durch clear_message_queueclear_message_queueClearMessageQueueClearMessageQueueClearMessageQueue zerstört wurden dürfen sie nicht mehr verwendet werden. Die Verwendung von ungültigen Referenzen führt zu undefiniertem Verhalten. Der Operator clear_message_queueclear_message_queueClearMessageQueueClearMessageQueueClearMessageQueue darf nicht auf ein Warteschlangenobjekt aufgerufen werden, dass gleichzeitig noch in einem anderen Thread in Verwendung ist. Dies führt zu undefiniertem Verhalten.

Ausführungsinformationen

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

QueueHandleQueueHandleQueueHandleQueueHandlequeueHandle (input_control, Zustand wird modifiziert)  message_queue(-array) HMessageQueue, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Freizugebene Warteschlangenobjekt(e).

Parameteranzahl: QueueHandle >= 1

Restriktion: QueueHandle != 0

Beispiel (HDevelop)

create_message_queue (ProducerQueue)
create_message_queue (ResultQueue)
* ...

Ergebnis

clear_message_queueclear_message_queueClearMessageQueueClearMessageQueueClearMessageQueue gibt den Wert 2 (H_MSG_TRUE) zurück, wenn die übergebenen Warteschlangenobjekte gültig sind. Andernfalls wird eine Fehlerbehandlung durchgeführt. Sollte eine der übergebenen Referenzen ungültig sein, wird clear_message_queueclear_message_queueClearMessageQueueClearMessageQueueClearMessageQueue dennoch versuchen alle anderen Referenzen freizugeben bevor es den Fehler zurück gibt.

Vorgänger

create_message_queuecreate_message_queueCreateMessageQueueCreateMessageQueueCreateMessageQueue, set_message_queue_paramset_message_queue_paramSetMessageQueueParamSetMessageQueueParamSetMessageQueueParam

Siehe auch

create_message_queuecreate_message_queueCreateMessageQueueCreateMessageQueueCreateMessageQueue, enqueue_messageenqueue_messageEnqueueMessageEnqueueMessageEnqueueMessage, dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessage, set_message_queue_paramset_message_queue_paramSetMessageQueueParamSetMessageQueueParamSetMessageQueueParam, get_message_queue_paramget_message_queue_paramGetMessageQueueParamGetMessageQueueParamGetMessageQueueParam, create_messagecreate_messageCreateMessageCreateMessageCreateMessage, clear_messageclear_messageClearMessageClearMessageClearMessage, set_message_tupleset_message_tupleSetMessageTupleSetMessageTupleSetMessageTuple, get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTuple, set_message_objset_message_objSetMessageObjSetMessageObjSetMessageObj, get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObj

Modul

Foundation