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


前へ 次へ 目次 索引


1.1.7 プロセス内サーバのリモートからのアクティブ化

サーバ・コンポーネントがプロセス内サーバとしてだけ登録されている場合,そのコンポーネントを OpenVMS でリモートからアクティブ化することはできません。システムがプロセス内サーバをリモートからアクティブ化しようとすると,リモート・クライアントは "REGDB_E_CLASSNOTREG (80040154)" エラーを受信します。サーバ・コンポーネントをリモートからアクティブ化するには,コンポーネントをプロセス外サーバとして登録し, DCOM$RPCSSプロセスがクライアントの代わりにコンポーネントを起動できるようにしなければなりません。

1.1.8 COM for OpenVMS のセキュリティ:COM Version 1.0 for OpenVMS と COM Version 1.1 for OpenVMS の相違点

次の表は,COM Version 1.0 for OpenVMS と COM Version 1.1 for OpenVMS の相違点を示しています。

表 1-1 セキュリティの相違点の要約
領域 COM Version 1.0 for OpenVMS COM Version 1.1 for OpenVMS
クライアント要求 Windows NT では認証される。OpenVMS への要求では認証されない。 Windows NT と OpenVMS で認証される。
セキュリティ Windows NT では,サーバはクライアントのアイデンティティで動作でき,OpenVMS ではあらかじめ指定された OpenVMS のアイデンティティで動作できる。 Windows NT と OpenVMS の両方で,サーバはクライアントのアイデンティティで動作できる。
セキュリティ Windows NT ではメソッド単位のセキュリティが認められるが,OpenVMS ではプロセス単位のセキュリティだけが認められる。 Windows NT と OpenVMS の両方で,メソッド単位のセキュリティが認められる。
アウトバウンド COM 要求 Windows NT でのみ認証される。 Windows NT と OpenVMS で認証される。
レジストリ Windows NT: NT の資格情報で制御される。

OpenVMS: 特権やライト識別子などの OpenVMS セキュリティ制御機能に依存する。

Windows NT: NT の資格情報で制御される。

OpenVMS: Windows NT の資格情報または OpenVMS セキュリティ制御によって制御される。

イベント・ログ Windows NT のみ。 Windows NT と OpenVMS の両方。

1.1.9 DCOM$CNFG ユーティリティとアプリケーションの無効化:操作によって起こる副次作用

COM for OpenVMS DCOM$CNFGユーティリティには,開発者がアプリケーションのプロパティを変更するために使用できるオプションがいくつかあります (たとえば,アプリケーションを実行できるコンピュータのロケーションの変更など)。これらのオプションを選択すると,OpenVMS Registry エントリが変更されます。

OpenVMS Registry では,クラスタ内で 1 つのデータベースがサポートされるので,これらのオプションのいずれかを変更すると,COM for OpenVMS を稼動しているクラスタ内のすべてのノードに影響があります。

たとえば, 「System-wide Default Properties」サブメニューのオプション 1 を使用して,COM for OpenVMS を無効化すると,クラスタ全体で COM for OpenVMS が無効化されます。同様に, 「Application Location」サブメニューのオプション 1 を使用して,このコンピュータでアプリケーションを実行することを禁止すると,クラスタ内のどのコンピュータでもそのアプリケーションを実行できなくなります。

1.1.10 COM for OpenVMS でサポートされるスレッド・モデル

COM Version 1.1 for OpenVMS では,アプリケーション・サーバに対してマルチスレッド・アパートメント (MTA,フリー・スレッドとも呼ばれる) モデルのみがサポートされます。マルチスレッド・アパートメント・モデルでは,コンポーネントは複数のスレッドを持つことができます。しかし,コードがスレッド・セーフであることを確認する必要があります。

スレッド・モデルの初期化呼び出しは次のとおりです。


CoInitializeEx( 
   NULL, 
   COINIT_MULTITHREADED 
   ) 

CoInitialize()はシングル・スレッド・アパートメント (STA) モデルを暗黙に示すので,サーバ・アプリケーションで CoInitializeEx()の代わりに使用することはできません。

1.1.11 COM for OpenVMS Service Control Manager の起動とシャットダウンの変更

COM for OpenVMS の以前のバージョンでは,独立プロセス DCOM$RPCSS が実際に動作しているのか (つまり,初期化を完了したのか),まだ初期化中であるのかを確認できないことがありました。

今回のリリースでは,DCOM$RPCSS.EXE イメージが変更されており,状態に応じて異なるプロセス名が表示されるようになりました。DCOM$RPCSS.EXE イメージが初期化を実行している間は,プロセス名は "DCOM$STARTUP-**" になります。DCOM$RPCSS.EXE イメージが実行中の場合は,プロセス名は "DCOM$RPCSS" に変化します。プロセスが異常終了して再起動しなければならない場合は,プロセス名は "DCOM$STARTUP-**" に戻ります。

DCOM$STARTUP.COMDCOM$SHUTDOWN.COMはどちらも,いずれかのプロセス名を検索するように変更されています。

COM for OpenVMS の起動の詳細については,第 4.12 節 を参照してください。COM for OpenVMS のシャットダウンの詳細については,第 4.13 節 を参照してください。

1.1.12 CoQueryProxyBlanket ( ) とCoQueryClientBlanket ( ) は有効な主名文字列を返さない

CoQueryProxyBlanket()CoQueryClientBlanket()API は有効な主名文字列を返しません。これらの API を使用して主名を取得することはできません。

1.1.13 ローカル・サーバ・パスに対して論理名を使用する登録済みアプリケーション

ローカル・サーバ・パスに対して論理名を使用する COM アプリケーションをすでに登録している場合は,ローカル・サーバ・パスの実際の名前を使用するようにアプリケーションを変更 (再登録) しなければなりません。

たとえば, REGISTER_SIMPLE.COMコマンド・プロシージャを使用して,COM Version 1.0 for OpenVMS で "Simple" アプリケーションを登録した場合は,新しい REGISTER_SIMPLE.COMコマンド・プロシージャを使用して "Simple" アプリケーションを再登録する必要があります。

COM Version 1.1 for OpenVMS の登録コマンド・ファイルは更新されています。

システムは次に示すように,COM アプリケーション・ローカル・サーバ・パスを値データとして OpenVMS Registry に格納します。


 
"HKEY_CLASSES_ROOT\CLSID\{GUID}\LOCALSERVER32" 

ローカル・サーバ・パスを変更するには,次の REG$CP コマンドを使用します。


$ MCR REG$CP CREATE VALUE 
HKEY_CLASSES_ROOT\CLSID\{GUID}\Localserver32 - 
/TYPE=SZ/DATA=device:[directory]IMAGENAME.EXE 

GUID は COM アプリケーションの CLSID です。Localserver32 と CLSID の詳細については,第 6.5 節 を参照してください。

1.1.14 SAFEARRAY の制約

COM for OpenVMS MIDL コンパイラは Microsoft の MIDL コンパイラ V3.00.44 を基礎にしているため,COM for OpenVMS では,SAFEARRAY の使用は .IDL ファイル内の LIBRARY ブロックの内部でのみサポートされます。Microsoft の MIDL コンパイラ V3.00.44 にも同じ制約があります。

1.1.15 COM Version 1.0 for OpenVMS と COM Version 1.1 for OpenVMS は同じクラスタ内でサポートされない

クラスタ内のノードに COM Version 1.1 for OpenVMS をインストールして構成する場合,同じクラスタ内の他のノードで COM Version 1.0 for OpenVMS が実行されないように,OpenVMS Registry をクラスタ全体で変更しなければなりません。

1.1.16 COM for Version 1.1 for OpenVMS 用に OpenVMS Registry の値の再登録が必要

COM Version 1.1 for OpenVMS では,セキュリティの設定を含むように,OpenVMS Registry の値を再登録しなければなりません。DCOM$SETUP コマンドを使用して「OpenVMS COM Tools」メニューを表示し,オプション 3 を選択します。

COM Version 1.1 for OpenVMS で OpenVMS Registry の値を再登録すると,再登録を確認するメッセージが表示されます。そのたびにYESと応答します。次の例を参照してください。


        [ Starting to Populate the COM for OpenVMS Registry ] 
 
         Populating the Registry for OpenVMS may take up to 15 minutes 
         depending on your system. 
 
Enter Y[ES] to continue: YES 
 
         The COM for OpenVMS Registry has already been loaded. This 
         action will overwrite the current COM for OpenVMS values 
         and data. 
 
Enter Y[ES] to continue: YES 

1.1.17 拡張 NTLM を有効にした状態での SP4 はサポートされない

COM Version 1.1 for OpenVMS では,次の制限のもとに NT SP4 がサポートされます。COM Version 1.1 for OpenVMS では,拡張 NTLM を有効にした状態で SP4 はサポートされません。

COM Version 1.1 for OpenVMS を SP4 と組み合わせて使用する場合は,拡張 NTLM が無効に設定されていることを確認してください。

SP4 の拡張 NTLM を無効にした状態では,SP4 と COM for OpenVMS は協調動作するように見えますが,SP4 は COM for OpenVMS と組み合わせて使用した状態で完全にテストされておらず,公式にはサポートされません。

弊社で行った SP4 に関するテストでは,SP4 と拡張 NTLM を無効にした状態で,12 文字より長いパスワードを使用した場合,認証要求が失敗するという制限が確認されています。

1.1.18 信頼されるドメインの認証をサポートするためのパッチ・キット

COM for OpenVMS のこのリリースでは,信頼されるドメインの認証はサポートされません。弊社はこの機能を提供するためにパッチ・キットを準備しています。

キットが提供される時期については,COM for OpenVMS の Web サイトを参照してください。COM for OpenVMS の Web サイトのアドレスは次のとおりです。


  http://www.openvms.digital.com/openvms/products/dcom/ 

1.1.19 IGNORE_EXTAUTH をサポートするためのパッチ・キット

COM for OpenVMS のこのリリースでは,SECURITY_POLICY システム・パラメータの IGNORE_EXTUATH フラグはサポートされません。弊社はこの機能を提供するためにパッチを準備しています。

パッチの詳細については,COM for OpenVMS の Web サイトを参照してください。COM for OpenVMS の Web サイトのアドレスは次のとおりです。


  http://www.openvms.digital.com/openvms/products/dcom/ 

1.1.20 DCOM$RPCSS は再起動時にストールする

クラスタ内で DCOM$RPCSS を稼動しているシステムがクラッシュし,再起動すると,DCOM$RPCSS プロセスは起動時にハングすることがあります。この状況では,プロセス名はDCOM$STARTUP-**のままであり,SYS$STARTUP:DCOM$RPCSS.OUT ファイルに次のエラー・メッセージが記録されます。


  %PPL-W-SYSERROR, system service error 
  -SYSTEM-W-VALNOTVALID, value block is not valid 

この状態から回復するには,ストールされたプロセスを停止し,次のコマンドを入力して COM for OpenVMS を再起動します。


  $ @SYS$STARTUP:DCOM$STARTUP 

1.1.21 2 つの OpenVMS システム間での COM for OpenVMS の使用

2 つの OpenVMS システム間で COM アプリケーションを実行するには,2 つの OpenVMS システムがどちらも同じドメインに存在しなければなりません。OpenVMS システムが同じドメイン内にない場合は,メソッド呼び出し時に認証が失敗します。OpenVMS システムと Windows NT システムの間でアプリケーションを実行している場合は,この制限は適用されません。

この制限をなくすために,弊社はパッチ・キットを準備しています。

キットの詳細については,COM for OpenVMS の Web サイトを参照してください。COM for OpenVMS の Web サイトのアドレスは次のとおりです。


  http://www.openvms.digital.com/openvms/products/dcom/ 

1.1.22 特定のエラー・メッセージ

ここでは,特定の COM for OpenVMS エラー・メッセージについて説明します。

1.1.22.1 RPC Cannot Support エラー (800706E4)

シングル・スレッド・アパートメント (STA) モデルを使用しようとすると,一部の COM API で次の戻り状態コードが表示されることがあります。


  (800706E4) 

このモデルは COM Version 1.1 for OpenVMS ではサポートされません。詳細については,第 1.1.10 項 を参照してください。

1.1.22.2 RPC Server Unavailable エラー (800706BA)

特定の状況で,Windows NT でクライアント・アプリケーションを実行し,OpenVMS でサーバ・アプリケーションを実行している場合,次のエラーが発生することがあります。


  RPC server unavailable (800706BA) 

このエラーに対処するには,サーバ・アプリケーションをいったん停止して再起動した後 (アプリケーションを手動で起動した場合),クライアント・アプリケーションを再起動します。

1.1.22.3 RPC WHO_ARE_YOU エラー (EE1282FA)

特定の状況で,クライアントとサーバの間で通信するときに,次のエラーが発生することがあります。


rpc_s_who_are_you_failed (EE1282FA) 

このメッセージが表示された場合は,操作を再実行してください。

弊社はこの問題を解決するために,パッチを準備しています。

1.1.22.4 RPC PROTOCOL エラー (800706C0)

特定の状況で,クライアントとサーバの間で通信するときに,次のエラーが発生することがあります。


  rpc_s_protocol_error (800706C0) 

このメッセージが表示された場合は,操作を再実行してください。

弊社はこの問題を解決するために,パッチを準備しています。


前へ 次へ 目次 索引