次の方法で共有


キュー可能なコンポーネントの作成

少なくとも1つのキュー可能なインターフェイスを持つコンポーネントは、キュー可能なコンポーネントです。 コンポーネントをキューによって呼び出すには、インターフェイスをキュー可能としてマークし、コンポーネントをキューに置かれたアプリケーションにインストールする必要があります。 ただし、キュー可能なコンポーネントは、キューに置かれていないアプリケーションのコンポーネントにすることができます。

キュー可能なインターフェイスには、inパラメーターのみを含める必要があります。outパラメーターと戻り値は含まれません。 これらの特性は、コンポーネントのインストール時に型情報を分析することによって検証されます。 インターフェイスがキュー可能でない場合、コンポーネントを含むアプリケーションのキューをアクティブ化することはできません。

COM+インターフェイスをキュー可能として指定するには、次の手順を実行します。

  1. コンポーネントサービス管理ツールのコンソールツリーの[コンポーネント サービス]で、管理するコンピューターに関連付けられているCOM+アプリケーションフォルダーを開きます。

  2. キューを作成したいCOM+アプリケーションのコンポーネントのInterfacesフォルダーを開きます。

  3. キューを作成するアプリケーションを右クリックし、[プロパティ]をクリックします。

  4. [プロパティ]ダイアログで [キュー]タブを選択します。

  5. [キュー]チェックボックスをオンにします。

    [キュー]チェックボックスがグレーアウトされている場合、インターフェイスは上記のキュー作成制約を満たしていません。

     

  6. OKをクリックします。

    キュー可能なすべてのインターフェイスのインターフェイス定義言語(IDL)ソースファイルのインターフェイスセクションにQUEUEABLE属性マクロを追加することで、キュー可能なコンポーネントとして識別できます。

    #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 ();
    }
    

コンポーネントキューの作成

キューコンポーネントの開発