前へ | 次へ | 目次 | 索引 |
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 参考文献
イベントと関連トピックの詳細については,次の参考文献が役立ちます。
システムは OpenVMS Events を Windows NT イベント・ログ, Advanced Server for OpenVMS イベント・ログ, OpenVMS システムのログ・ファイルに記録します。
OpenVMS Events を表示するには,次のいずれかを使用します。
11.2.1 Windows NT イベント・ビューアによる OpenVMS Events の表示
Windows NT イベント・ビューアを使用して OpenVMS Events を表示するには,次の操作を行います。
11.2.2 Advanced Server for OpenVMS イベント・ビューアによる OpenVMS Events の表示
COM for OpenVMS イベントを表示するには,次の操作を行います。
$ ADMIN SHOW EVENTS/TYPE=SYSTEM/SOURCE=DCOM/FULL |
ビューアは COM for OpenVMS イベントだけを表示し, COM for 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. |
アプリケーションがイベント・ログ・ファイルに情報を記録することを許可します。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 ビット形式を示しています。
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$_SERVER_NAME
この操作が実行されるサーバの UNC (汎用命名規則) 名。
UNC 名は \\server\ share\path \file という形式です。このアイテムは 0 または未指定でなければなりません。これはクラスタ内で使用可能な Advanced Server for OpenVMS サーバで操作を実行します。- EVT$_SOURCE
イベントを記録するアプリケーションの名前。このフィールドは,説明テキストが格納されているアプリケーション・メッセージ・ファイルをアプリケーションのイベント・ログ・エントリと関連付けます。
ソースを指定する場合は, Eventlog\Systemキー, Eventlog\Securityキー,
Eventlog\Applicationレジストリ・キーのサブキーでなければなりません。たとえば, Myappのソース名は,次のキーのレジストリ・エントリを示します。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\Eventlog\Application\Myapp)
Myappレジストリ値 EventMessageFileは,このアプリケーションのイベントを変換するために使用されるメッセージ・ファイルとパスの名前を指定します。
ソースは指定しないか,または Null として指定できます。この場合,イベントはアプリケーション・ログ・ファイルに記録されますが,アプリケーションは関連イベントのメッセージ・ファイルを記録しません (この結果,置換テキストも記録されません)。- EVT$_HANDLE
アプリケーション・イベント・ログへのハンドルを返します。このハンドルは他の $EVENT 機能への入力として必要です。
エラーが発生した場合,ハンドルとして 0 が返されます。このハンドルは CloseHandleAPI の責任の範囲外です。
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$_HANDLE
以前の EVT$_FC_REGISTER_EVENT_SOURCE 呼び出しから返された値。- EVT$_EVENT_TYPE
イベントの重大度を示します。タイプは次のいずれかです。EVT$_SUCCESS
EVT$_ERROR
EVT$_WARNING
EVT$_INFO
EVT$_AUDIT_SUCCESS
EVT$_AUDIT_FAILURE
重大度タイプは,WINNT.H に定義されている Windows NT の対応する重大度にマップされます。- EVT$_EVENT_CATEGORY
1〜65535 の範囲の整数値。 EVT$_EVENT_CATEGORY は特定のソース固有の値です。
EVT$_EVENT_CATEGORY を使用すると,アプリケーションはメッセージ・ファイルをセクションに分割できます。各セクションにはイベント ID がインデックスとして付加されます。カテゴリを指定しなかった場合,デフォルトは 0 になります。- EVT$_EVENT_ID
無制限の整数値。この値はアプリケーション・メッセージ・ファイルでカテゴリのインデックスとして使用されます。インデックスはこのイベント・メッセージに対して表示されるテキスト文字列の場所を示します。イベント ID は特定のソース固有の値です。- EVT$_USER_SID
イベントをログに記録するスレッドの Windows NT セキュリティ ID (省略可能)。$PERSONA システム・サービスを介して Windows NT 資格情報を取得したアプリケーションは, OpenProcessTokenと GetTokenInformationWin32 API を呼び出すことにより, SID を取得できます。形式はこのサービスからは不明です。- EVT$_NUMSTRINGS
EVT$_STRING_ARRAY アイテム・コードに指定された文字列の数。- EVT$_DATASIZE
EVT$_RAW_DATA アイテム・コードによって示されたバッファの長さ (バイト数)。- EVT$_STRING_ARRAY
文字列ポインタの配列。各エントリ・ポイントは最後が Null の文字列です。メッセージ・ファイル内の記述文字列には,%n の形式で文字列プレースホルダを格納できます。%1 は最初のプレースホルダを示します。この配列に指定された文字列は,システムがイベント・メッセージを表示するときに,これらのプレースホルダを置き換えます。- EVT$_RAW_DATA
イベント・メッセージにバイナリ・データを含むことを許可します。
たとえば,エラーが発生したコンポーネントからデータ構造をダンプできます。
EVT$_DEREGISTER_EVENT_SOURCE
イベント・ログとの関連付けを閉じます。
アイテム・コード 必須 パラメータ データ・タイプ EVT$_HANDLE 必須 入力 符号なしロングワード
- EVT$_HANDLE
以前の EVT$_FC_REGISTER_EVENT_SOURCE 呼び出しから返された値。
アイテム・コード | パラメータ・タイプ | データ・タイプ |
---|---|---|
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 ルーチンは同期的に終了します。つまり,要求が終了した後で制御は呼び出しプロセスに戻されます。
イベント・データを書き込むには,次の操作を行います。
SS$_NORMAL サービスは正常終了しました。 SS$_ACCVIO 引数の 1 つを読み込み/書き込みすることができません。 SS$_BADPARAM パラメータが不正です。 SS$_NOPRIV 特権が不足しているため,指定されたイベント・ログにアクセスできません。 SS$_TIMEOUT 要求がタイムアウトしました。 SS$_UNREACHABLE イベント・サービスを使用できません。 SS$_REJECT Windows NT LAN Manager サーバがエラーを検出しました。詳細については,Win32 の状態情報を参照してください。
前へ | 次へ | 目次 | 索引 |