Создание компонентов очереди
Компонент с по крайней мере одним интерфейсом очереди является компонентом очереди. Чтобы компонент, вызываемый очередью, интерфейсы должны быть помечены как очередные, а компонент должен быть установлен в приложении с очередью. Однако компонент очереди может быть компонентом приложения, отличного от очереди.
Интерфейс очереди должен содержаться только в параметрах— нет параметров и не возвращает возвращаемых значений. Эти характеристики проверяются путем анализа сведений о типе во время установки компонента. Если интерфейс недоступен, очередь приложения, содержащего компонент, не может быть активирована.
Чтобы указать интерфейс COM+ в качестве очереди, выполните следующие действия.
В дереве консоли средства администрирования служб компонентов в разделе "Службы компонентов" откройте папку COM+ Applications , связанную с компьютером, которым требуется управлять.
Откройте папку Interfaces компонента приложения COM+, который требуется сделать очередью.
Щелкните правой кнопкой мыши интерфейс, который нужно пометить как очередь, и выберите пункт "Свойства".
Выберите вкладку "Очередь" в диалоговом окне свойств.
Активируйте поле проверка с меткой "Очередь".
Примечание.
Если поле проверка очереди неактивно, интерфейс не удовлетворяет ограничениям очереди, описанным выше.
Щелкните OK.
Компонент очереди можно определить таким образом, добавив макрос атрибута QUEUEABLE в раздел интерфейса исходного файла языка определения интерфейса (IDL) для всех интерфейсов, которые являются очередными.
#include "mtxattr.h" [ object, dual, uuid(), helpstring(IShiphip"), QUEUEABLE ] interface IShip:IDispatch{ [propput, id(1)] HRESULT CustomerId ([in] long CustId); [propput, id(2)] HRESULT OrderId ([in] long OrderID); [id(3)] HRESULT LineItem ([in] long Qty); [id(4)] HRESULT Process (); }
См. также