В проекте, над которым я работаю, используется коммерчески доступный пакет для маршрутизации звука по различным направлениям. С этим пакетом есть отдельное приложение, которое можно использовать для регистрации событий, генерируемых программным обеспечением для маршрутизации звука, в базу данных, например. подключите устройство 1 к устройству 3.
Мне было поручено написать приложение, которое реагирует на определенные события, генерируемые программным обеспечением для маршрутизации звука, например, реагирует на любые соединения с устройством 3.
Я заметил, что программное обеспечение для маршрутизации звука использует MSMQ для отправки информации о событии в регистратор событий. Это означает, что данные о событиях могут накапливаться, если программное обеспечение рекордера некоторое время не запускалось.
Я обнаружил очередь - ". \ Private $ \ AudioLog" и хотел бы выполнить следующие действия:
Обнаружение и обработка новых сообщений как
они заносятся в очередь.
Разрешить запись текущего события
Программное обеспечение, чтобы продолжать
работать как прежде - поэтому сообщения
не может быть удален моим
применение.
- Убедитесь, что я всегда вижу
сообщение.
Теперь я отмечаю, что я могу использовать MessageQueue для Peek в очереди, чтобы читать сообщения без удаления, а также GetAllMessages () для просмотра всех сообщений, не удаленных регистратором событий.
Если программное обеспечение для записи не подключено, то я вижу, что могу достаточно легко собирать данные сообщений, но не могу понять, как я могу убедиться, что вижу сообщение до того, как рекордер удалит сообщение, когда оно связной.
В идеале я хотел бы добавить свое приложение в качестве второго пункта назначения для очереди сообщений. Это возможно программно?
Если у меня нет привилегий администратора, доступ к машине с очередью, можно ли вручную настроить очередь для разветвления второй копии очереди, к которой я могу подключить свое программное обеспечение?