Windows msmq что это
Установка необходимого программного обеспечения
На клиентском компьютере также необходимо установить клиента MSMQ.
Это делается следующим образом:
- в Control Panel требуется выбрать модуль Add/Remove Program;
- далее следует выбрать значок Com-ponents;
- в появившемся списке нужно отметить 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 представляет собой действительно мощнейший инструмент для построения асинхронных распределенных систем, работающих в режиме реального времени. В будущих статьях мы, без сомнения, еще не раз коснемся этой темы.
Читайте также: