Share via


警示函式

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

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

Windows Server 2003: 警示程式和 Messenger 服務預設會在 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_INFOUSER_OTHER_INFO 結構中特定的其他固定長度資料。 額外的可變長度資料可以遵循警示特定的結構。 (對 NetAlertRaiseEx 函式的呼叫不需要 STD_ALERT structure.) 呼叫應用程式必須配置所有結構和可變長度資料的記憶體,並在呼叫傳回之後釋放記憶體。

下列宏可用於警示資料緩衝區。

巨集 描述
ALERT_OTHER_INFO 傳回警示訊息中 STD_ALERT 結構的固定長度資料的指標。
ALERT_VAR_DATA 傳回變數長度資料的指標,該資料會遵循警示訊息中的警示特定資料。

 

您可以使用 Windows Management Instrumentation (WMI) SDK 來通知事件,而不是使用網路管理警示功能。 如需支援 WMI 事件模型之平臺的詳細資訊,請參閱 WMI 檔中的 WMI 基礎結構監視事件