경고 함수

[경고 및 메신저 서비스가 지원되지 않으므로 Windows Vista에서는 경고 함수가 지원되지 않습니다.]

네트워크 관리 경고 함수는 네트워크 서비스 프로그램 및 애플리케이션에 네트워크 이벤트를 알립니다. 이벤트는 애플리케이션에서 정의한 대로 하드웨어의 프로세스, 발생 또는 상태에 대한 특정 instance. 경고 함수를 사용하면 애플리케이션이 미리 정의된 이벤트가 발생하는 시기를 나타낼 수 있습니다.

Windows Server 2003: 경고 및 메신저 서비스는 Windows Server 2003에서 기본적으로 사용하지 않도록 설정됩니다. 네트워크 관리 경고 함수 또는 네트워크 관리 메시지 함수를 호출하기 전에 서비스를 다시 사용하도록 설정해야 합니다.

경고 함수는 다음과 같습니다.

함수 Description
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_INFO, ERRLOG_OTHER_INFO, PRINT_OTHER_INFO 또는 USER_OTHER_INFO 구조에서 경고별 추가 고정 길이 데이터로 구성되어야 합니다. 추가 가변 길이 데이터는 경고별 구조를 따를 수 있습니다. NetAlertRaiseEx 함수에 대한 호출에는 STD_ALERT 구조가 필요하지 않습니다. 호출 애플리케이션은 모든 구조체 및 가변 길이 데이터에 대한 메모리를 할당하고 호출이 반환된 후 메모리를 해제해야 합니다.

다음 매크로는 경고 데이터 버퍼에 사용할 수 있습니다.

매크로 Description
ALERT_OTHER_INFO 경고 메시지의 STD_ALERT 구조 다음에 있는 고정 길이 데이터에 대한 포인터를 반환합니다.
ALERT_VAR_DATA 경고 메시지의 경고별 데이터를 따르는 가변 길이 데이터에 대한 포인터를 반환합니다.

 

네트워크 관리 경고 함수를 사용하는 대신 이벤트 알림에 WMI(Windows Management Instrumentation) SDK를 사용할 수 있습니다. WMI 이벤트 모델을 지원하는 플랫폼에 대한 자세한 내용은 WMI 설명서의 WMI 인프라모니터링 이벤트를 참조하세요.