次の方法で共有


アラート関数

[アラート機能は Windows Vista ではサポートされていません。これは、アラート機能とメッセンジャー サービスがサポートされていないためです。

ネットワーク管理アラート機能は、ネットワーク サービス プログラムとネットワーク イベントのアプリケーションに通知します。 イベントは、アプリケーションによって定義されたハードウェアのプロセス、発生、または状態の特定のインスタンスです。 アラート関数を使用すると、アプリケーションは定義済みのイベントが発生したタイミングを示すことができます。

Windows Server 2003: Windows Server 2003 では、アラート サービスとメッセンジャー サービスは既定で無効になっています。 ネットワーク管理アラート機能またはネットワーク管理 メッセージ機能を呼び出す前に、サービスを再度有効にする必要があります。

アラート関数の一覧を次に示します。

機能 説明
NetAlertRaise 登録されているすべてのクライアントに、特定のイベントが発生したことを通知します。
NetAlertRaiseEx NetAlertRaise とは異なり、NetAlertRaiseExSTD_ALERT構造を必要としないため、登録されたクライアントに特定のイベントが発生したことを簡単に通知できます。

 

NetAlertRaise 関数または NetAlertRaiseEx 関数を呼び出すときに、クライアント コンピューターで Alerter サービスが実行されている必要があります。 サービスが実行されていない場合、関数は ERROR_FILE_NOT_FOUND で失敗します。 クライアント上の alerter サービスは 、NetMessageBufferSend 関数を呼び出して受信者に情報を送信します。

アプリケーション、ネットワーク サービス、および内部ネットワーク コンポーネントは、ネットワーク管理アラート機能を使用してアラートを生成し、特定の種類のイベントが発生したときにさまざまなアプリケーションまたはユーザーに通知します。 アラート カテゴリ関数、データ型、構造体、および定数は LMCONS で定義されます。H、LMERR。H、LMALERT。H ヘッダー ファイル。 これらの定義にアクセスするには、INCL_NETERRORSおよびINCL_NETALERT定数を定義し、ヘッダー ファイル LM.H を含めます。

LMALERT。H ファイルでは、アラートを送信するために、次のアラート クラス (ネットワーク イベントの種類) が事前に定義されています。

  • 管理支援を必要とするネットワーク イベント
  • エラー ログ ファイルへのエントリの追加
  • ユーザーまたはアプリケーションによるブロードキャスト メッセージの受信
  • 印刷ジョブの完了
  • ユーザーによる特定のアプリケーションまたはリソースの使用

必要に応じて、ネットワーク アプリケーションの他のクラスのアラートを定義できます。 たとえば、サーバー上のアプリケーションが大量のデータをディスク ドライブに定期的に書き込む場合、アプリケーションはディスクを満たすリスクを実行します。 この場合は、イベント "空きディスク領域なし" を追加して、一時停止またはディスクがいっぱいになっているプロセスを終了するようにアプリケーションに通知するアラートをトリガーできます。 アラートのイベント名には、任意のテキスト文字列を指定できます。

NetAlertRaise 関数の呼び出しでアラートを発生させる場合、メッセージ データは 1 つのSTD_ALERT ヘッダー構造で構成され、その後に、1 つのADMIN_OTHER_INFO、ERRLOG_OTHER_INFOPRINT_OTHER_INFO、またはUSER_OTHER_INFO構造でアラート固有の追加の固定長データが続く必要があります。 追加の可変長データは、アラート固有の構造に従うことができます。 ( NetAlertRaiseEx 関数の呼び出しには 、STD_ALERT 構造体は必要ありません。呼び出し元のアプリケーションは、すべての構造体と可変長データにメモリを割り当て、呼び出しが返された後にメモリを解放する必要があります。

アラート データ バッファーでは、次のマクロを使用できます。

マクロ 説明
ALERT_OTHER_INFO アラート メッセージの STD_ALERT 構造に従う固定長データへのポインターを返します。
ALERT_VAR_DATA アラート メッセージ内のアラート固有のデータに続く可変長データへのポインターを返します。

 

ネットワーク管理アラート機能を使用する代わりに、イベント通知に Windows Management Instrumentation (WMI) SDK を使用できる場合があります。 WMI イベント モデルをサポートするプラットフォームの詳細については、WMI ドキュメントの 「WMI インフラストラクチャ監視イベント 」を参照してください。