ssyuvaraja Ответов: 1

Coredll.dll createmsgqueue WIN CE


Я использую MsgQueue для связи между приложениями C# и c++. Хотите знать, в течение длительного времени будет ли этот MsgQueue убит/умрет/очищен. Я имею в виду любое время жизни для этого MsgQueue. Если да, то как проверить, жив MsgQueue или нет. Пожалуйста, помогите мне в этом, спасибо.

Что я уже пробовал:

Я импортировал
coredll.dll
при этом очередь чтения и записи передает сообщение между приложениями C# и c++, работающими индивидуально. Разве этот MesgQueue умрет/убьется через некоторое время. Любое время жизни существует для этих MesgQueue. Любой способ проверить, жив месгкью или нет. Пожалуйста, помогите мне в этом.

1 Ответов

Рейтинг:
7

Jochen Arndt

Я бы ожидал, что они существуют до тех пор, пока CloseMsgQueue() вызывается для всех дескрипторов, возвращаемых CreateMsgQueue() используя то же самое имя.

Тогда нет необходимости проверять, жива ли очередь, потому что она находится под контролем приложения. Приложение может просто очистить переменную дескриптора после закрытия очереди, чтобы указать, что очередь больше не существует.

Более важно закрывать очереди сообщений, когда они больше не используются, потому что это ограниченные системные ресурсы. Это означает: когда они не закрыты, они будут существовать до перезагрузки системы.


ssyuvaraja

Спасибо.