다음을 통해 공유


SnmpExtensionTrap 함수(snmp.h)

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

Microsoft SNMP 서비스는 SnmpExtensionTrap 함수를 호출하여 서비스가 SNMP 확장 에이전트에 대한 트랩을 생성하는 데 필요한 정보를 검색합니다. 서비스는 확장 에이전트가 SnmpExtensionInit 함수를 호출하는 동안 트랩 이벤트 핸들을 신호 상태로 설정한 후에만 이 함수를 호출합니다. SnmpExtensionTrap 함수는 SNMP 확장 에이전트 API의 요소입니다.

구문

BOOL SNMP_FUNC_TYPE SnmpExtensionTrap(
  [out] AsnObjectIdentifier *pEnterpriseOid,
  [out] AsnInteger32        *pGenericTrapId,
  [out] AsnInteger32        *pSpecificTrapId,
  [out] AsnTimeticks        *pTimeStamp,
  [out] SnmpVarBindList     *pVarBindList
);

매개 변수

[out] pEnterpriseOid

트랩을 생성한 엔터프라이즈의 개체 식별자를 수신하기 위한 AsnObjectIdentifier 구조체에 대한 포인터입니다. SNMP 서비스는 이 변수에 대한 메모리를 해제하지 않습니다.

[out] pGenericTrapId

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

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

[out] pSpecificTrapId

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

[out] pTimeStamp

타임스탬프를 받을 변수에 대한 포인터입니다. SnmpSvcGetUptime 함수에 대한 호출에서 반환된 값으로 이 매개 변수를 초기화하는 것이 좋습니다.

[out] pVarBindList

변수 바인딩 목록에 대한 포인터입니다. 확장 에이전트는 이 매개 변수에 대한 메모리를 할당해야 합니다. SNMP 서비스는 SnmpUtilVarBindListFree 함수를 호출하여 메모리를 해제합니다.

반환 값

SnmpExtensionTrap 함수가 트랩을 반환하는 경우 반환 값은 TRUE입니다. SNMP 서비스는 FALSE 값을 반환할 때까지 함수를 반복적으로 호출 합니다. 자세한 내용은 다음 설명 섹션을 참조하세요.

설명

sNMP 서비스는 phSubagentTrapEvent 이벤트 핸들이 신호된 상태로 설정된 경우 SnmpExtensionTrap 함수를 반복적으로 호출합니다. 이 핸들은 SnmpExtensionInit 진입점 함수를 호출하는 동안 다시 전달됩니다. SnmpExtensionTrap 함수는 매개 변수에 단일 트랩에 대한 유효한 데이터가 포함되어 있음을 나타내기 위해 TRUE를 반환해야 합니다. 매개 변수가 유효한 트랩 데이터를 나타내지 않음을 나타내고 서비스의 반복 호출을 중지하려면 함수가 FALSE 를 반환해야 합니다.

SNMP 서비스가 트랩을 보낸 후 변수 바인딩 목록과 연결된 메모리를 해제합니다.

이전 설명서에서는 SNMP 서비스가 트랩을 보낸 후 메모리를 해제하려고 하므로 확장 에이전트가 엔터프라이즈 개체 식별자에 대한 메모리를 동적으로 할당해야 한다고 명시했습니다. 서비스는 엔터프라이즈 개체 식별자와 연결된 메모리를 해제하지 않습니다. 대신 정적 AsnObjectIdentifier 구조체에 대한 포인터를 반환하는 것이 좋습니다.

요구 사항

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

추가 정보

SNMP 함수

SetEvent

SNMP(Simple Network Management Protocol) 개요

SnmpExtensionInit

SnmpSvcGetUptime

SnmpUtilMemAlloc

SnmpUtilVarBindListFree

SnmpVarBindList