경고 함수
[경고 및 메신저 서비스가 지원되지 않으므로 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 인프라 및 모니터링 이벤트를 참조하세요.