MSMQ

Тема в разделе "WASM.BEGINNERS", создана пользователем Sercher, 16 апр 2011.

  1. Sercher

    Sercher New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    59
    Здравствуйте.
    Решил реализовать эту технологию гарантированной асинхронной передачи сообщений и сделать тестовую отправку/приемку сообщения(fasm).При вызове самой функции MQCreateQueue ( из mqrt.dll) не смог разобраться с ее параметрами:

    Из МСДН:
    HRESULT APIENTRY MQCreateQueue(
    PSECURITY_DESCRIPTOR pSecurityDescriptor, ;Дискриптор безопасности
    MQQUEUEPROPS * pQueueProps, ;указатель на структуру параметров очереди
    LPWSTR lpwcsFormatName, ;указатель на буфер получающий имя очереди
    LPDWORD lpdwFormatNameLength ;размер буфера понятно
    );

    и вот с MQQUEUEPROPS пошли проблемы:

    typedef struct tagMQQUEUEPROPS
    {
    DWORD cProp; ;кол-во устанавливаемых параметров очереди
    QUEUEPROPID * aPropID; ;массив идентификаторов характеристик очереди

    Например здесь должен быть идентификатор PROPID_Q_PATHNAME я так понял что это константа, но я негде немогу найти ее значение, ни в msdn ни в борландском winapi, люди у кто использует С/С++ будьте добры посмотрите числовые значения и размерность констант PropID в заголовочных файлах.

    MQPROPVARIANT * aPropVar; значение указанных параметров очереди

    Опять таки здесь константы, значение которых нет в МСДН.

    HRESULT * aStatus; указатель на статус возвращаемого сообщения


    } MQQUEUEPROPS;

    П.С. Думаю разбор данной темы будет полезен всем программистам на кто хочет использовать это функциональное средство передачи данных как в сети так и между процессами на локальной машине.
     
  2. Sercher

    Sercher New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    59
  3. ntkernelspawn

    ntkernelspawn New Member

    Публикаций:
    0
    Регистрация:
    17 дек 2010
    Сообщения:
    61
    http://www.google.com/codesearch/p?hl=ru#xDIhwGeLmaI/wix3.5/src/ca/pubca/pcaexec/mqiexec.cpp&q=MQCreateQueue&sa=N&cd=3&ct=rc
     
  4. Praetor11

    Praetor11 New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2009
    Сообщения:
    80
    А почему бы просто не использовать Socket для той же самой передачи данных?
     
  5. Sercher

    Sercher New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    59
    MSMQ поддерживает -журналироване, гарантирование доставки, шифрование, асинхронность, регистрация оправок и тд тп, Socketы нет - да и работаю медленно (http://habrahabr.ru/blogs/system_programming/81067/) уж лучше каналы.
     
  6. Sercher

    Sercher New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    59
    Спасибо, нашел правда немного в другом месте:
    http://www.google.com/codesearch/p?hl=ru#P1_W5HxvJek/boca/system/include/mq.h&q=PROPID_Q_PATHNAME&sa=N&cd=1&ct=rc
    как я понимаю деректива #define это создание константы?