キュー可能なコンポーネントの作成
少なくとも1つのキュー可能なインターフェイスを持つコンポーネントは、キュー可能なコンポーネントです。 コンポーネントをキューによって呼び出すには、インターフェイスをキュー可能としてマークし、コンポーネントをキューに置かれたアプリケーションにインストールする必要があります。 ただし、キュー可能なコンポーネントは、キューに置かれていないアプリケーションのコンポーネントにすることができます。
キュー可能なインターフェイスには、inパラメーターのみを含める必要があります。outパラメーターと戻り値は含まれません。 これらの特性は、コンポーネントのインストール時に型情報を分析することによって検証されます。 インターフェイスがキュー可能でない場合、コンポーネントを含むアプリケーションのキューをアクティブ化することはできません。
COM+インターフェイスをキュー可能として指定するには、次の手順を実行します。
コンポーネントサービス管理ツールのコンソールツリーの[コンポーネント サービス]で、管理するコンピューターに関連付けられているCOM+アプリケーションフォルダーを開きます。
キューを作成したいCOM+アプリケーションのコンポーネントのInterfacesフォルダーを開きます。
キューを作成するアプリケーションを右クリックし、[プロパティ]をクリックします。
[プロパティ]ダイアログで [キュー]タブを選択します。
[キュー]チェックボックスをオンにします。
注
[キュー]チェックボックスがグレーアウトされている場合、インターフェイスは上記のキュー作成制約を満たしていません。
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 (); }
関連トピック