다음을 통해 공유


SnmpMgrGetTrapEx 함수(mgmtapi.h)

[SNMP는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. 대신 WS-Man의 Microsoft 구현인 Windows 원격 관리를 사용합니다.]

SnmpMgrGetTrapEx 함수는 트랩 수신이 활성화된 경우 호출자가 받지 못한 미해결 트랩 데이터를 반환합니다. 이 확장 함수는 SnmpMgrGetTrap 함수에서 반환하는 정보 외에도 전송 원본의 주소와 트랩의 커뮤니티 문자열을 반환합니다. 이 함수는 SNMP 관리 API의 요소입니다.

구문

BOOL SNMP_FUNC_TYPE SnmpMgrGetTrapEx(
  [out] AsnObjectIdentifier *enterprise,
  [out] AsnNetworkAddress   *agentAddress,
  [out] AsnNetworkAddress   *sourceAddress,
  [out] AsnInteger          *genericTrap,
  [out] AsnInteger          *specificTrap,
  [out] AsnOctetString      *community,
  [out] AsnTimeticks        *timeStamp,
  [out] RFC1157VarBindList  *variableBindings
);

매개 변수

[out] enterprise

SNMP 트랩을 생성한 엔터프라이즈를 수신하기 위한 AsnObjectIdentifier 구조체에 대한 포인터입니다.

[out] agentAddress

SNMP 트랩을 생성한 에이전트의 주소를 수신하는 변수에 대한 포인터입니다. 이 정보는 SNMP PDU(프로토콜 데이터 단위)에서 검색됩니다.

[out] sourceAddress

SNMP 트랩을 생성한 에이전트의 주소를 수신하는 변수에 대한 포인터입니다. 이 정보는 네트워크 전송에서 검색됩니다.

[out] genericTrap

제네릭 트랩의 표시기를 받을 변수에 대한 포인터입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
SNMP_GENERICTRAP_COLDSTART
에이전트가 관리 모드에서 프로토콜 엔터티를 초기화하고 있습니다. 뷰에서 개체를 변경할 수 있습니다.
SNMP_GENERICTRAP_WARMSTART
에이전트가 자체적으로 다시 초기화되지만 뷰의 개체는 변경되지 않습니다.
SNMP_GENERICTRAP_LINKDOWN
연결된 인터페이스가 위쪽 상태에서 다운 상태로 변경되었습니다. 변수 바인딩 목록의 첫 번째 변수는 인터페이스를 식별합니다.
SNMP_GENERICTRAP_LINKUP
연결된 인터페이스가 다운 상태에서 위쪽 상태로 변경되었습니다. 변수 바인딩 목록의 첫 번째 변수는 인터페이스를 식별합니다.
SNMP_GENERICTRAP_AUTHFAILURE
SNMP 엔터티가 SNMP 메시지를 보냈지만 알려진 커뮤니티에 속한다고 거짓 주장했습니다.
SNMP_GENERICTRAP_EGPNEIGHLOSS
EGP 피어가 다운 상태로 변경되었습니다. 변수 바인딩 목록의 첫 번째 변수는 EGP 피어의 IP 주소를 식별합니다.
SNMP_GENERICTRAP_ENTERSPECIFIC
특별한 이벤트가 발생했습니다. 엔터프라이즈별 값을 사용하여 specificTrap 매개 변수에서 식별됩니다.

[out] specificTrap

생성된 특정 트랩의 표시기를 수신할 변수에 대한 포인터입니다.

[out] community

생성된 SNMP 트랩의 커뮤니티 문자열을 수신하는 AsnOctetString 구조체에 대한 포인터입니다.

[out] timeStamp

타임스탬프를 받을 변수에 대한 포인터입니다.

[out] variableBindings

변수 바인딩 목록을 받을 SnmpVarBindList 구조체에 대한 포인터입니다.

반환 값

함수가 트랩을 반환하는 경우 반환 값은 0이 아닌 값입니다.

0을 반환할 때까지 SnmpMgrGetTrapEx 함수를 반복적으로 호출해야 합니다. 함수는 다음 오류 코드를 반환할 수도 있습니다.

반환 코드 설명
SNMP_MGMTAPI_TRAP_ERRORS
오류가 발생했음을 나타냅니다. 트랩에 액세스할 수 없습니다.
SNMP_MGMTAPI_NOTRAPS
사용할 수 있는 트랩이 없음을 나타냅니다.
SNMP_MEM_ALLOC_ERROR
메모리 할당 오류를 나타냅니다.

설명

애플리케이션은 SnmpMgrGetTrapEx 함수를 호출하기 전에 항상 SnmpMgrTrapListen 함수를 호출해야 합니다. 이는 SnmpMgrTrapListen 함수의 phTrapAvailable 매개 변수가 가리키는 이벤트 핸들이 SNMP 트랩의 이벤트 기반 획득을 가능하게 하기 때문입니다. SNMP 트랩 서비스가 트랩을 제공할 때 SNMP Management API는 애플리케이션 이벤트를 신호로 보냅니다.

애플리케이션은 정기적으로 트랩에 대해 SnmpMgrGetTrapEx 함수를 폴링할 수도 있습니다. 이 경우 애플리케이션은 함수가 0을 반환할 때까지 SnmpMgrGetTrapEx 를 반복적으로 호출해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 mgmtapi.h
라이브러리 Mgmtapi.lib
DLL Mgmtapi.dll

추가 정보

AsnObjectIdentifier

AsnOctetString

SNMP 함수

SNMP(Simple Network Management Protocol) 개요

SnmpMgrTrapListen

SnmpVarBindList