日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS
ライブラリ

タイトルページ
目次
まえがき
第 1 章:COM for OpenVMSに関するリリースノート
第 2 章:OpenVMS Registryに関するリリースノート
第 3 章:COM for OpenVMSの概要
第 4 章:COM for OpenVMSのインストール
第 5 章:アプリケーションの開発と運用のためのCOM for OpenVMSユーティリティ
第 6 章:COM for OpenVMSアプリケーションの開発
第 7 章:OpenVMS Registryの概要
第 8 章:OpenVMS Registryシステム管理
第 9 章:OpenVMS Registryサーバの管理
第 10 章:OpenVMS Registryシステムサービス
第 11 章:OpenVMS イベント
第 12 章:認証
付録 A :MIDLコンパイラのオプション
付録 B :トラブルシューティング
付録 C :サンプルアプリケーションの作成
付録 D :V1.0からV1.1へのアップグレード
付録 E :相違点,API,インタフェースの一覧
付録 F :インストールされるファイル一覧
用語集
略語集
索引
PDF
OpenVMS ホーム
OpenVMS Alpha オペレーティング・システム | HPE 日本(日本ヒューレット・パッカード株式会社)

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


目次 索引



ビルド・プロシージャ 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 



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 システムでアプリケーションを構築する方法について説明します。

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


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

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


   $ @build_dispatch_sample1 

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


   $  MMS/DESCRIPTION=BUILD_DISPATCH_SAMPLE1.MMS 

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

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

  • プロセス内サーバを登録するには, REGSVR32ユーティリティを使用します。次の例を参照してください。


      $ regsvr32 :== $DCOM$REGSVR32.EXE 
      $ regsvr32 path-nameCMPNT$SHR.EXE 
    

  • プロセス内サーバの登録を解除するには, REGSVR32ユーティリティを使用します。次の例を参照してください。


      $ regsvr32 /u path-nameCMPNT$SHR.EXE 
    

  • プロセス外サーバを登録するには,次の操作を行います。


      $ cmpnt :== $path-nameCMPNT.EXE 
      $ cmpnt /regserver 
    

  • プロセス外サーバの登録を解除するには,次の操作を行います。


      $ cmpnt /unregserver 
    



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

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

  • ウィンドウ (または端末セッション) 1:


       $ run cmpnt 
    

  • ウィンドウ (または端末セッション) 2:

    • ディスパッチ・クライアントの場合:


         $ run dclient 
      

    • COM クライアントの場合:


         $ run client 
      

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


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

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

リモート・マシン (またはサーバ・システム) として指定したシステムで 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と入力して,リモート・サーバ実行,つまりサーバ外プロセスを選択します。

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

  • ディスパッチ・クライアントの場合:


       $ run dclient 
    

  • COM クライアントの場合:


       $ run client 
    

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


  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 システムでアプリケーションを構築する方法について説明します。

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 はプロセス内サーバとプロセス外サーバの両方を構築し,登録します。

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


   regsvr32 -s Cmpnt.dll 
   Cmpnt /RegServer 

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


   regsvr32 -u Cmpnt.dll 
   Cmpnt /UnRegServer 



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 へのアップグレード



ここでは, 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 では,ユーザ Everyone に対してアクセスが許可されるように (Allow access),アクセス権を設定しなければなりませんでした (レジストリ値 AccessPermission)。
      COM Version 1.1 for OpenVMS では,特定のユーザに対して独自のアクセス権 (レジストリ値 AccessPermission) を設定できます。
      「独自のアクセス権を使う」をクリックし, 「編集」ボタンをクリックして, 「レジストリ値のアクセス権」ダイアログ・ボックスを表示します。

    • COM Version 1.0 for OpenVMS では,ユーザ Everyone がアプリケーション・サーバを起動できるように,起動アクセス権 (レジストリ値 LaunchPermission) を Allow launch に設定しなければなりませんでした。
      COM Version 1.1 for OpenVMS では,独自の起動アクセス権 (レジストリ値 LaunchPermission) を設定して, Everyone を削除できます。
      「独自のアクセス権を使う」をクリックし, 「編集」ボタンをクリックして, 「レジストリ値のアクセス権」ダイアログ・ボックスを表示します。

    • COM Version 1.0 for OpenVMS では,ユーザ Everyone に対して少なくともレジストリ値への Read アクセスを許可するように,構成許可を設定しなければなりませんでした。
      COM Version 1.1 for OpenVMS では,独自の構成アクセス権を設定して, Everyone を削除できます。
      「独自のアクセス権を使う」をクリックし, 「編集」ボタンをクリックして, 「レジストリ値のアクセス権」ボックスを表示します。


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


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項