Windows msmq что это

Обновлено: 04.07.2024

Установка необходимого программного обеспечения

На клиентском компьютере также необходимо установить клиента MSMQ.

Это делается следующим образом:

  1. в Control Panel требуется выбрать модуль Add/Remove Program;
  2. далее следует выбрать значок Com-ponents;
  3. в появившемся списке нужно отметить Microsoft Message Queues и ответить на несколько простых вопросов.

После этого установку клиента MSMQ можно считать законченной.

Работаем с MSMQ

Перед тем как рассмотреть ряд примеров, заметим, что во всех фрагментах кода используются две функции AnsiToUnicode и UnicodeToAnsi, преобразующие строку символов ANSI в Unicode и наоборот. В этих функциях используются вызовы Win32-функций MultiByteToWideChar и для обратного преобразования WideCharToMultiByte. Пример можно найти в коде демонстрационной программы.

Начнем с более простых примеров.

Функция NetServerEnum весьма удобна. Для получения результата не надо создавать буфер - это делает операционная система. Но полученный после вызова функции буфер необходимо освободить вызовом функции Net-BufferFree. Замечу, что этот механизм используется практически всеми функциями NetAPI.

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

Скелет функции, которая выполняет задачу получения списка публичных очередей для хоста, приведен в Листинге 2. Отметим, что предназначенные для этой цели функции MQLo-cateBegin и MQLocateNext возвращают ВСЕ публичные очереди в домене. Следовательно, имя каждой очереди должно быть проанализировано, из него должно быть вычленено имя компьютера и т. д. В примере это делается приблизительно, т. е. если имя очереди начинается с последовательности символов, соответствующей передаваемому в качестве параметра имени сервера, то считается, что проверка пройдена. Очевидно, что для очереди test1/test_queue и компьютера test будет получен неправильный результат.

Заключение

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

Читайте также: