Notification Services との COM 相互運用

Notification Services API はすべてマネージ コードで開発されています。ただし、Notification Services クラスの多くは、COM 相互運用によってアンマネージ コードからも使用できるように開発されています。Notification Services を既存のアンマネージ アプリケーションに統合する場合は、アンマネージ コードをサブスクリプション管理アプリケーションで引き続き使用することが必要になる場合があります。このために COM 相互運用ソリューションは提供されています。

COM 相互運用をサポートしない名前空間

次の Notification Services 名前空間のクラスは、COM 相互運用をサポートしません。

  • Microsoft.SqlServer.NotificationServices.Rules。これは、条件ベースのサブスクリプションをサポートするサブスクリプション管理インターフェイスで使用されます。この名前空間は、Microsoft.SqlServer.NotificationServices.Rules.dll アセンブリにあります。
  • Microsoft.SqlServer.Management.Nmo。これは、Notification Services アプリケーションをプログラム上で定義したり、Notification Services インスタンスを構成、配置、および管理するために使用できます。この名前空間は、Microsoft.SqlServer.Smo.dll アセンブリにあります。

Microsoft.SqlServer.NotificationServices 名前空間

次の Microsoft.SqlServer.NotificationServices 名前空間のクラスは、COM 相互運用を少なくとも部分的にサポートします。

これらのクラスは、既定のコンストラクタと、アンマネージ コードでオブジェクトを作成および初期化する Initialize メソッドを提供します。これらのクラスのオーバーロードされたメソッドについては、オーバーロードの度合いが最も大きな COM 呼び出し元に提供され、同等の機能を提供するためにメソッドのパラメータはオプションになります。

Notification Services の複数のバージョンをインストールしてから COM 相互運用を使用する場合、コードでは、最も新しくインストールされたバージョンの Notification Services から API を使用します。必ずしも Notification Services の最新バージョンが使用されるとは限りません。このような矛盾が生じるのは、HKEY_CLASSES_ROOT 直下にあるプログラム ID の形式が "Microsoft.SqlServer.NotificationServices.NSInstance" であり、常に最も新しくインストールされたバージョンを指しているためです。

COM 相互運用の使用方法の詳細については、Microsoft MSDN® ライブラリの「Visual Basic および Visual C# における COM 相互運用性」を参照してください。

参照

概念

Notification Services アーキテクチャ
Notification Services プログラミング フレームワーク
Notification Services の配置オプション

その他の技術情報

通知ソリューションの作成
Notification Services の配置
Notification Services の管理

ヘルプおよび情報

SQL Server 2005 の参考資料の入手