OpenVMS Alpha
オペレーティング・システム
コネクティビティ開発者ガイド


前へ 次へ 目次 索引


C.1.2.2 Windows NT でのアプリケーションの登録

ビルド・プロシージャ make-oneCMPNT.DLLPROXY.DLLCMPNT.EXEを自動的に登録します。次の例を参照してください。


   regsvr32 -s Cmpnt.dll 
   regsvr32 -s Proxy.dll 
   Cmpnt /RegServer 

アプリケーションの登録を解除するには,次のコマンドを入力します。


   regsvr32 -u Cmpnt.dll 
   regsvr32 -u Proxy.dll 
   Cmpnt /UnRegServer 

C.1.2.3 Windows NT でのアプリケーションの実行

CLIENTを実行します。OpenVMS でイン・プロセス・サーバとしてアプリケーションを実行する手順 ( 付録 C.1.1.5 項 ),およびプロセス外サーバとしてアプリケーションを実行する手順 ( 付録 C.1.1.3 項 ) と同じ手順を実行します。

リモート・マシンの名前 (UNC または DNS) を引数として使用して,リモート・マシンでオブジェクトのインスタンスを作成します。次の例を参照してください。


   >Client hostname        ! point the client at the remote system 
   2                       ! means outproc invocation 
   > 

C.2 オートメーションの例 (Dispatch_Sample1)

この例では,デュアル・インタフェースとしてオートメーション・コンポーネント・サーバを実装します。この例には,ディスク・インタフェースを介してデュアル・インタフェースに接続する Dclientと, IUnknownインタフェース (v-table を使用) を介して接続する COM クライアント実装である Clientの 2 つのクライアントがあります。

このサンプルでは,2 つの OpenVMS システムの間の接続,2 つの Windows NT システムの間の接続,OpenVMS システムと Windows NT システムの間の接続を示します。

C.2.1 OpenVMS の場合の手順

ここでは,OpenVMS システムでアプリケーションを構築する方法について説明します。

C.2.1.1 OpenVMS でのアプリケーションの構築

ファイルを DCOMexamples ディレクトリからローカル・ディレクトリにコピーします。次の例を参照してください。


   $ set default mydisk:[mydirectory] 
   $ copy dcom$examples:[dispatch_sample1]*.* [] 

アプリケーションを構築するには,次のコマンド・プロシージャを実行します。


   $ @build_dispatch_sample1 

MMS がある場合は,次の例に示すように,インクルードされた説明ファイルを使用できます。


   $  MMS/DESCRIPTION=BUILD_DISPATCH_SAMPLE1.MMS 

BUILDファイルはプロセス内サーバとプロセス外サーバの両方を構築し,登録します。

C.2.1.2 OpenVMS でのアプリケーションの登録

ビルド・プロシージャは CMPNT$SHR.EXECMPNT.EXEの両方を自動的に登録します。コンポーネントを手動で登録するには,次の操作を行います。

C.2.1.3 プロセス外サーバとしてのOpenVMS でのアプリケーションの実行

コンポーネントがプロセス外サーバであるサンプルを実行するには, CMPNT.EXEを実行します。

コンポーネントから Server: Waitingメッセージが表示されたら,別のウィンドウまたは端末セッションでクライアントを実行します。

クライアントは次のメッセージを表示します。


  To which server do you want to connect? 
   1) In-Process Server 
   2) Out-of-Process Server 
   : 

2と入力して,プロセス外サーバを選択します。

C.2.1.4 OpenVMS でのアプリケーションの実行とリモート・サーバの指定

リモート・マシン (またはサーバ・システム) として指定したシステムで CMPNT.EXEを実行します。リモート・システムは Windows NT システムでもかまいません。 Server: Waitingメッセージがコンポーネントから表示されたら,ローカル・マシン (またはクライアント・システム) として指定したシステムでクライアントを実行します。次の例を参照してください。

COM クライアントを使用するには,次のように入力します。


   $ client :== $path-nameCLIENT.EXE 
   $ client remote-system-name
  To which server do you want to connect? 
   1) In-Process Server 
   2) Out-of-Process Server 
   : 

2と入力して,リモート・サーバ実行,つまりサーバ外プロセスを選択します。

C.2.1.5 プロセス内サーバとしての OpenVMS でのアプリケーションの実行

コンポーネントがプロセス内サーバであるサンプルを実行するには,クライアントだけを実行します。次の例を参照してください。

クライアントは次のメッセージを表示します。


  To which server do you want to connect? 
   1) In-Process Server 
   2) Out-of-Process Server 
   : 

1と入力して,プロセス内サーバを選択します。

C.2.2 Windows NT の場合の手順

ここでは,Windows NT システムでアプリケーションを構築する方法について説明します。

C.2.2.1 Windows NT でのアプリケーションの構築

README-DISPATCH-SAMPLE1.TXTファイルと次のファイルを COM examples ディレクトリから Windows NT システムにコピーします。


CLIENT.CXX 
DCLIENT.CXX 
CMPNT.CXX 
CMPNT.DEF 
MAKE-ONE. 
MAKEFILE.BAT 
REGISTRY.CXX 
REGISTRY.H 
SERVER.IDL 

MAKEFILE.BATファイルを使用してサンプルを構築します。次の例を参照してください。


   C:> MAKEFILE 

Makefile はプロセス内サーバとプロセス外サーバの両方を構築し,登録します。

C.2.2.2 Windows NT でのアプリケーションの登録

ビルド・プロシージャ make-oneCMPNT.DLLPROXY.DLLCMPNT.EXEを自動的に登録します。次の例を参照してください。


   regsvr32 -s Cmpnt.dll 
   Cmpnt /RegServer 

アプリケーションの登録を解除するには,次のコマンドを入力します。


   regsvr32 -u Cmpnt.dll 
   Cmpnt /UnRegServer 

C.2.2.3 Windows NT でのアプリケーションの実行

DCLIENTまたは CLIENTを実行します。 OpenVMS でプロセス内サーバとしてアプリケーションを実行する手順 ( 付録 C.2.1.5 項 ),およびプロセス外サーバとして実行する手順 ( 付録 C.2.1.3 項 ) と同じ手順を実行します。

リモート・マシンの名前 (UNC または DNS) を引数として使用して,リモート・マシンでオブジェクトのインスタンスを作成します。


付録 D
COM Version 1.0 for OpenVMS から COM Version 1.1 for OpenVMS へのアップグレード

D.1 COM for OpenVMS の以前のバージョンからのアップグレード

ここでは, COM for OpenVMS の以前のバージョンからアップグレードするときに必要な手順について説明します。

D.1.1 既存の COM for OpenVMS アプリケーションの再構築

COM for OpenVMS アプリケーションに次のいずれかの API に対する参照が含まれる場合は,その参照を含むモジュールを再コンパイルし,アプリケーションを再リンクしなければなりません。

LoadLibraryA
LoadLibraryW
LoadLibraryExW
LoadLibraryExA
GetModuleFileNameA
GetModuleFileNameW
GetModuleHandleW
GetProcAddress
FreeLibrary

COM Version 1.0 for OpenVMS に付属している一部のサンプル COM アプリケーションでは,REGISTY モジュールと CMPNT モジュールにこれらの API に対する参照が含まれています。サンプルを構築した場合や,これらのサンプルをもとに独自の COM アプリケーションを構築した場合は,そのアプリケーションを再コンパイルし,再リンクしなければなりません。

D.1.2 Windows NT システムの構成

COM Version 1.0 for OpenVMS (非認証 COM) の場合, COM for OpenVMS のマニュアルには,非認証 COM for OpenVMS が Windows NT と相互運用できるように, Windows NT レジストリの特定の値を変更するように説明されていました。 COM Version 1.1 for OpenVMS では,認証がサポートされるようになりました。この結果, COM Version 1.0 for OpenVMS で変更が必要だった Windows NT Registry の値をデフォルトの認証設定に戻す必要があります。 Windows NT Registry の値を設定するには,次の操作を行います。

  1. Windows NT Registry エディタを起動します。

  2. 次のレジストリ・キーを選択します。


    HKEY_LOCAL_MACHINE\Software\Microsoft\Ole 
    

  3. 次の値名と値データを削除します。

    値名 COM Version 1.0 for OpenVMS での推奨設定 デフォルト (認証) 値データ ( COM Version 1.1 for OpenVMS の設定) レジストリの種類
    ActivationSecurity N 削除 REG_SZ
    PersonalClasses N 削除 REG_SZ

  4. Default Authentication LevelDefault Impersonation Level を確認し,必要に応じて変更します。次の操作を行います。

    注意

    これらの設定を表示し,更新するには, Windows NT の Administrator 特権が必要です。

    1. 「スタート」メニューの 「ファイル名を指定して実行...」を選択します。

    2. 「ファイル名を指定して実行」ダイアログ・ボックスで, dcomcnfgと入力します。
      「分散 COM の構成のプロパティ」シートが表示されます。

    3. 「既定のプロパティ」タブをクリックします。

      • 「既定の認証レベル」リスト・ボックスに 「接続」が表示されるはずです。表示されない場合は,リスト・ボックスの矢印をクリックし,一覧から「接続」を選択します。

      • 「既定の偽装レベル」リスト・ボックスに 「識別」が表示されるはずです。表示されない場合は,リスト・ボックスの矢印をクリックし,「識別」を一覧から選択します。

  5. これらの変更を有効にするには,Windows NT システムを再起動しなければなりません。

D.1.3 OpenVMS システムの構成

OpenVMS システムで, OpenVMS Registry の特定の値を設定またはリセットしなければなりません。 Windows NT Registry エディタを使用して OpenVMS Registry を変更することができ, REG$CP ユーティリティを使用することもできます。 OpenVMS Registry の値を設定するには,次の操作を行います。

  1. OpenVMS Registry の次のキーを選択します。


    HKEY_LOCAL_MACHINE\Software\Microsoft\Ole 
    

  2. ActivationSecurityPersonalClassesLegacyAuthenticationLevel
    LegacyImpersonationLevelキーを削除します。キーを削除するには,次のコマンドを使用します。


    $ MCR REG$CP 
    REG> LIST VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole 
    REG> DELETE VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole 
    ActivationSecurity 
    REG> DELETE VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole PersonalClasses 
    REG> DELETE VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole 
    LegacyAuthenticationLevel 
    REG> DELETE VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole 
    LegacyImpersonationLevel 
    REG> LIST VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole 
    REG> EXIT 
    

D.2 Windows NT で以前に構成されたアプリケーション

Windows NT で COM Version 1.0 for OpenVMS (非認証 COM for OpenVMS ) と組み合わせて実行するようにアプリケーションを構成した場合は, COM Version 1.1 for OpenVMS (認証 COM for OpenVMS ) を利用できるように, Windows NT の設定を再構成しなければなりません。

COM Version 1.0 for OpenVMS では, COM for OpenVMS のマニュアルに,コンポーネントを登録した後,認証されていないユーザがイメージをアクティブにすることができるように,そのコンポーネントでセキュリティ・プロパティを確認するように説明されていました。次の操作を行います。

  1. Windows NT の「スタート」メニューの 「ファイル名を指定して実行...」を選択します。

  2. 「ファイル名を指定して実行」ダイアログ・ボックスで, dcomcnfgと入力します。
    「分散 COM の構成のプロパティ」シートが表示されます。

  3. 「アプリケーション」リストからオブジェクトの名前を選択し, 「プロパティ...」ボタンをクリックします。
    選択したオブジェクトのプロパティ・シートが表示されます。

  4. プロパティ・シートで「セキュリティ」タブをクリックします。


    COM Version 1.0 for OpenVMS では,セキュリティ・プロパティを設定した後,アプリケーションを実行するためにアカウントの ID を設定しなければなりませんでした。
    COM Version 1.1 for OpenVMS では,アカウントの ID はオプション 1 または 2 に設定できます。
    「識別」タブをクリックして,ユーザ・アカウントの選択を表示します。「対話ユーザー」オプションを選択します。


前へ 次へ 目次 索引