共用方式為


警示函式

[從 Windows Vista 起,不支援警示函式,因為不支援警示程式和 Messenger 服務。]

網路管理警示功能會通知網路服務程式和網路事件的應用程式。 事件 是應用程式所定義之硬體的特定實例、發生或狀態。 警示函式可讓應用程式指出預先定義的事件何時發生。

Windows Server 2003: Windows Server 2003 預設會停用警示器和信使服務。 您必須先重新啟用服務,才能呼叫網路管理警示函式或網路管理 訊息函式

警示函式如下所列。

功能 描述
NetAlertRaise 通知所有已註冊的客戶端發生特定事件。
NetAlertRaiseEx 簡化通知已註冊的客戶端發生特定事件,因為與 netAlertRaise 不同,NetAlertRaiseEx 不需要 STD_ALERT 結構。

 

當您呼叫 NetAlertRaise 函式或 NetAlertRaiseEx 函式時,警示程式服務必須在用戶端電腦上執行。 如果服務未執行,函式會失敗並 ERROR_FILE_NOT_FOUND。 用戶端上的警示服務會呼叫 NetMessageBufferSend 函式,以傳送資訊給收件者。

應用程式、網路服務和內部網路元件會使用網路管理警示功能來引發警示,並在發生特定類型的事件時通知各種應用程式或使用者。 警示類別函式、數據類型、結構和常數定義於 LMCONS 中。H、LMERR。H 和 LMALERT。H 頭檔。 若要存取這些定義,請定義常數INCL_NETERRORS和INCL_NETALERT,並包含頭檔 LM.H。

LMALERT。H 檔案會預先定義下列警示類別(網路事件類型)來傳送警示:

  • 需要系統管理協助的網路事件
  • 將專案新增至錯誤記錄檔
  • 由使用者或應用程式接收廣播訊息
  • 完成列印作業
  • 使用者使用特定應用程式或資源

您可以視需要定義網路應用程式的其他警示類別。 例如,如果伺服器上的應用程式經常將大量數據寫入磁碟驅動器,應用程式就會執行填滿磁碟的風險。 在此情況下,您可能會想要新增事件「沒有可用磁碟空間」來觸發警示,通知應用程式暫停或終止正在填滿磁碟的進程。 警示的事件名稱可以是任何文字字串。

當您使用呼叫 NetAlertRaise 函式引發警示時,訊息數據應該包含一個 STD_ALERT 標頭結構,後面接著一個 ADMIN_OTHER_INFOERRLOG_OTHER_INFOPRINT_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 基礎結構監視事件