次の方法で共有


DCOM サンプル : 複数のクライアントからの Windows サービスの COM オブジェクトの呼び出し

更新 : 2007 年 11 月

DCOM サンプルでは、複数のクライアントが各自のコンピュータから Windows サービスに実装されている COM オブジェクトを呼び出す方法を示します。サンプルは複数の部分で構成されています。

  • DrawServ   COM オブジェクトを実装する Windows サービス。

  • ATLDraw   DrawServ COM オブジェクトに接続するクライアント。

  • DrawCtl   ATLDraw のコントロール バージョン。コンピュータ名の文字列パラメータをとる Connect、Disconnect、および Clear の各メソッドがあります。

  • MFCCont   DrawCtl の MFC コンテナ。二重引用符やスラッシュを付けずにサーバー (リモート サーバー可) の名前を入力します。

  • ATLCont   DrawCtl の ATL コンテナ。二重引用符やスラッシュを付けずにサーバー (リモート サーバー可) の名前を入力します。

このサンプルを動作させるには、すべてのコンピュータで Windows 2000 以降を実行する必要があります。

このサンプルと、ATL DCOM サンプルを比較してください。

a2ht8e6d.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないため、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。

サンプルとそのインストール手順を取得するには

  • Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。

    詳細については、「サンプル ファイルの格納場所」を参照してください。

  • 使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。

  • サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。

サンプルのビルドと実行

このサンプルをビルドして実行するには

  1. ソリューション ファイル dcom.sln を開きます。

  2. DrawServ サンプルと ATLDraw サンプルをビルドします。

  3. サンプルを実行する各コンピュータに、Drawserv.exe と Atldraw.exe をコピーします。/RegServer または -RegServer (大文字と小文字は区別しない) コマンド ライン引数を指定して DrawServ を実行し、各コンピュータのサーバーを登録します。次に例を示します。

    DrawServ /RegServer
    

    サーバーを登録するには、Register.dll が登録されている必要があります。サーバーの CLSID とサーバー タイプ ライブラリをクライアントに登録する必要があるため、各クライアントにサーバーをコピーする必要があります。

  4. コントロール パネルの [管理ツール] の [サービス] を使用して、サーバーのサービスを開始します。

  5. 各クライアントの DCOMCNFG を使用して、DrawServ クラスのプロパティを選択します。[場所] タブの [次のコンピュータ上でアプリケーションを実行する] を選択し、サーバー オブジェクトを実行するコンピュータ名を入力します。[次のコンピュータ上でアプリケーションを実行する] チェック ボックスをオフにします。

  6. ATLDraw を実行し、[Server] をクリックします。各クライアントのメニューから接続します。クライアント ウィンドウで、マウスの左ボタンを押しながら、線をドラッグしてください。引いた線は、同じサーバーに接続された各クライアントに表示されます。[View] メニューの [Color] をクリックして、各クライアントの色を変更することもできます。

  7. リモート サーバーとの接続に問題がある (たとえば、Tstcon32.exe が CoInitializeSecurity を呼び出さない) 場合は、クライアントで DCOMCNFG を実行し、[既定のプロパティ] タブを開きます。[既定の認証レベル] を [なし]、[既定の偽装レベル] を [匿名] に設定します。

参照

処理手順

DCOM サンプル : COM オブジェクトのリモート呼び出し

参照

Compiler COM Support

その他の技術情報

コンパイラ COM サポートのサンプル