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


前へ 次へ 目次 索引


第 3 部
OpenVMS Events

第 3 部では, OpenVMS Events についての関連情報を扱います。


第 11 章
OpenVMS Events

11.1 イベントとは

Windows NT システムでは,イベントは,システムまたはアプリケーション内で発生する重要な出来事です。たとえば,サービスの開始や停止,ユーザのログオンやログオフ,リソースへのアクセスなどはイベントです。 システムでイベントが検出されると,イベント・ログ・サービスがイベント (または監査エントリ) をレコード形式でシステム・ログ,セキュリティ・ログ,アプリケーション・ログのいずれかに書き込み,監査トレールを作成します。レコードには日時,ソース (発生源),カテゴリ,イベント番号,ユーザ,コンピュータに関する情報が格納されます。 Windows NT システムでは,これらのログやそこに記録されているイベントは,イベント・ビューアを使用して表示します。

COM Version 1.0 for OpenVMS では,OpenVMS はすべての COM for OpenVMS イベントを DCOM$EVENTLOG.RPT テキスト・ファイルに書き込んでいました。 COM Version 1.1 for OpenVMS では,OpenVMS は COM for OpenVMS イベントの Windows NT ログと Advanced Server for OpenVMS ログの両方をサポートするようになりました。 COM for OpenVMS イベント (OpenVMS での COM サーバの起動など) をログに記録し, Windows NT システムまたは OpenVMS システムからこれらの OpenVMS イベントを確認できるようになりました。

OpenVMS Events の依存関係についてと, OpenVMS Events が OpenVMS インフラストラクチャの他の部分とどのように関係するかの詳細については, 第 4.9 節 を参照してください。

11.1.1 参考文献

イベントと関連トピックの詳細については,次の参考文献が役立ちます。

11.2 OpenVMS Events の概要

システムは OpenVMS Events を Windows NT イベント・ログ, Advanced Server for OpenVMS イベント・ログ, OpenVMS システムのログ・ファイルに記録します。

OpenVMS Events を表示するには,次のいずれかを使用します。

11.2.1 Windows NT イベント・ビューアによる OpenVMS Events の表示

Windows NT イベント・ビューアを使用して OpenVMS Events を表示するには,次の操作を行います。

  1. Windows NT イベント・ビューアを起動します。
    「スタート」 メニューから 「プログラム」「管理ツール」「イベントビューア」を選択します。

  2. 「イベントビューア」ウィンドウで 「ログ」メニューの 「コンピュータの選択...」 をクリックし,リスト・ボックスから OpenVMS システムを選択します。

  3. 「イベントビューア」ウィンドウで 「ログ」 メニューの「システム」をクリックして,システム・イベント・ログを表示します。システム・イベント・ログには, COM for OpenVMS イベントが格納されています。
    COM for OpenVMS イベントだけを表示するには,次の操作を行います。

11.2.2 Advanced Server for OpenVMS イベント・ビューアによる OpenVMS Events の表示

COM for OpenVMS イベントを表示するには,次の操作を行います。

  1. Advanced Server for OpenVMS が実行されていることを確認します。

  2. 次の Advanced Server for OpenVMS ADMINISTRATOR コマンドを入力します。


      $ ADMIN SHOW EVENTS/TYPE=SYSTEM/SOURCE=DCOM/FULL 
    


    ビューアは COM for OpenVMS イベントだけを表示し, COM for OpenVMS イベントに関連付けられた補足情報も表示します。

11.2.3 OpenVMS のみでのイベントのログ

場合によっては, COM for OpenVMS イベントを OpenVMS システムのみで書き込んだり,表示しなければならないことがあります。 Windows NT ログの代わりに,Compaq は COM イベント情報を OpenVMS ファイルに書き込む別のイベント・ロガーを提供しています。このファイルは次の場所にあります。


SYS$MANAGER:DCOM$EVENTLOG.RPT 

COM サーバ ( DCOM$RPCSS) がエラーを検出すると, COM for OpenVMS はこのイベント・ログ・レポートを自動的に作成します。イベント・ロガーはファイルの最後に新しいイベントを追加します。記録されるイベントの形式は次のとおりです。


event type : ddd mmm dd hh:mm:ss yyyy
First event message
 
event type : ddd mmm dd hh:mm:ss yyyy
Second event message
. 
. 
. 

例 11-1 はイベント・ログの内容を示しています。

例 11-1 OpenVMS イベント・ログの例

$ Type SYS$MANAGER:DCOM$EVENTLOG.RPT 
 
(1)
ERROR : Tue Sep 15 11:18:54 1998 
Unable to start a DCOM Server: {5E9DDEC7-5767-11CF-BEAB-00AA006C3606} 
Runas (null)/SMITH 
The Windows NT error: 1326 
Happened while starting: device:[account]SSERVER.EXE 
 
(2)
ERROR : Tue Sep 15 19:14:45 1998 
The server {0C092C21-882C-11CF-A6BB-0080C7B2D682} did not register 
with DCOM within the required timeout. 
 

  1. システムは最初のエラー・イベントを Tue Sep 15 11:18:54 1998に記録しました。 COM サーバ (DCOM$RPCSS) は, SMITHアカウントで稼動しているクライアントの代わりに, COM アプリケーション device:[account]SSERVER.EXEを起動できませんでした ( クライアントは "access denied" などのエラーを受け取っている可能性があります )。この結果作成された Windows NT エラーは 1326であり,これが "Logon failure: unknown user name or bad password"に変換されます。
    このエラーを検出した場合は, OpenVMS Authorize ユーティリティ (AUTHORIZE) を使用して,ユーザ・アカウントが有効であるかどうか確認してください。

  2. システムは 2 番目のエラー・イベントを Tue Sep 15 19:14:45 1998に記録しました。 COM サーバ (DCOM$RPCSS) は, COM アプリケーション {0C092C21-882C-11CF-A6BB-0080C7B2D682}を起動することはできましたが,アプリケーションは正常に動作しませんでした。アプリケーションは指定された時間内に DCOM$RPCSS に登録されませんでした ( クライアントは "Server execution failed" CO_E_SERVER_EXEC_FAILUREなどのエラーを受け取っている可能性があります )。
    このエラーを検出した場合は,対話方式でサーバ・アプリケーションを実行し,整合性を判断してください。


NTA$EVENTW

アプリケーションがイベント・ログ・ファイルに情報を記録することを許可します。

NTA$EVENTW ルーチンはすべての操作を同期的に完了します。


形式

NTA$EVENTW [nullarg], func, itmlst, evsb


引数

nullarg


OpenVMS usage: reserved
データ型: longword (unsigned)
アクセス: read only
受け渡し方: by value


Compaq が使用するために予約されています。

func


OpenVMS usage: function_code
データ型: longword (unsigned)
アクセス: read only
受け渡し方: by value


NTA$EVENTW が実行する機能を指定する機能コード。func 引数は機能コードを格納したロングワードです。$EVENTDEF マクロは各機能コードの名前を定義します。

itmlst


OpenVMS usage: address of item list
データ型: 64-bit address
アクセス: read only
受け渡し方: by value


イベントのソース (発生源) またはイベントに関する情報を指定するアイテム・リスト。itmlst 引数はアイテム記述子のリストの 64 ビット・アドレスであり,各記述子は情報アイテムを示します。 64 ビット形式のアイテム・リストはクォドワードの 0 で終了します。

次の図は,1 つのアイテム記述子の 64 ビット形式を示しています。


evsb


OpenVMS usage: address of status block
データ型: 64-bit address
アクセス: write only
受け渡し方: by reference


要求された操作の終了状態が格納されるイベント状態ブロック。

NTA$EVENTW は要求を開始するときに,状態ブロックを 0 に設定します。要求の終了時に,EVT$L_VMS_STATUS フィールドには操作の主 (OpenVMS) 終了状態が格納されます。

エラーが発生した場合,EVT$L_NT_STATUS (0 以外の場合) は,エラー状態をさらに定義する補助エラー状態です。 機能コード

EVT$_FC_REGISTER_EVENT_SOURCE

イベント・ログとの関連性を開きます。

アイテム・コード 必須 パラメータ データ・タイプ
EVT$_SERVER_NAME 省略可能 入力 文字列 (4 バイトの Unicode)
EVT$_SOURCE 省略可能 入力 文字列 (4 バイトの Unicode)
EVT$_HANDLE 必須 出力 符号なしロングワード

EVT$_FC_REPORT_EVENT

イベント・ログ・エントリを生成します。

アイテム・コード 必須 パラメータ データ・タイプ
EVT$_HANDLE 必須 入力 符号なしロングワード
EVT$_EVENT_TYPE 必須 入力 ワード・マスク
EVT$_EVENT_CATEGORY 省略可能 入力 ワード
EVT$_EVENT_ID 必須 入力 ロングワード
EVT$_USER_SID 省略可能 入力 NT セキュリティ ID
EVT$_NUMSTRINGS 省略可能 入力 ワード
EVT$_DATASIZE 省略可能 入力 ロングワード
EVT$_STRING_ARRAY 省略可能 入力 可変長記述子の配列 (4 バイトの Unicode)
EVT$_RAW_DATA 省略可能 入力 バイナリ・データ

EVT$_DEREGISTER_EVENT_SOURCE

イベント・ログとの関連付けを閉じます。

アイテム・コード 必須 パラメータ データ・タイプ
EVT$_HANDLE 必須 入力 符号なしロングワード

アイテム・コード

アイテム・コード パラメータ・タイプ データ・タイプ
EVT$_SERVER_NAME 入力 文字列
EVT$_SOURCE 入力 文字列
EVT$_HANDLE 入力/出力 符号なしロングワード
EVT$_EVENT_TYPE 入力 ワード・マスク
EVT$_EVENT_CATEGORY 入力 ワード
EVT$_EVENT_ID 入力 ロングワード
EVT$_USER_SID 入力 NT セキュリティ ID
EVT$_NUMSTRINGS 入力 ワード
EVT$_DATASIZE 入力 ロングワード
EVT$_STRING_ARRAY 入力 文字列ポインタの配列
EVT$_RAW_DATA 入力 バイナリ・データ

説明 NTA$EVENTW ルーチンを使用すると,イベントのソースの登録と登録の解除,イベント・データの報告を行うことができます。このイベント・ログ機能を使用すると,アプリケーションの内部から情報を記録できます。イベント・ルーチンを使用して,アプリケーション内で進行状況を追跡したり,アプリケーションで検出された問題を識別できます。

NTA$EVENTW ルーチンは同期的に終了します。つまり,要求が終了した後で制御は呼び出しプロセスに戻されます。

イベント・データを書き込むには,次の操作を行います。

  1. イベント・ソースを登録します。
    この操作は,イベント・データが書き込まれるイベント・ログを定義します。

  2. イベントを報告します。
    この操作を実行すると,情報が適切なイベント・ログに書き込まれます。

  3. イベント・ソースの登録を解除します。
    この操作は,イベント・ソースの登録の一部として取得されたリソースを解放します。


返される状態値

SS$_NORMAL サービスは正常終了しました。
SS$_ACCVIO 引数の 1 つを読み込み/書き込みすることができません。
SS$_BADPARAM パラメータが不正です。
SS$_NOPRIV 特権が不足しているため,指定されたイベント・ログにアクセスできません。
SS$_TIMEOUT 要求がタイムアウトしました。
SS$_UNREACHABLE イベント・サービスを使用できません。
SS$_REJECT Windows NT LAN Manager サーバがエラーを検出しました。詳細については,Win32 の状態情報を参照してください。


前へ 次へ 目次 索引