다음을 통해 공유


SnmpDecodeMsg 함수(winsnmp.h)

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

WinSNMP SnmpDecodeMsg 함수는 인코딩된 SNMP 메시지를 해당 구성 요소로 디코딩합니다. 이 함수는 WinSNMP SnmpEncodeMsg 함수의 반대 동작을 수행합니다.

구문

SNMPAPI_STATUS SNMPAPI_CALL SnmpDecodeMsg(
  [in]  HSNMP_SESSION   session,
  [out] LPHSNMP_ENTITY  srcEntity,
  [out] LPHSNMP_ENTITY  dstEntity,
  [out] LPHSNMP_CONTEXT context,
  [out] LPHSNMP_PDU     pdu,
  [in]  smiLPCOCTETS    msgBufDesc
);

매개 변수

[in] session

WinSNMP 세션에 대한 핸들입니다. 이 매개 변수는 필수입니다. 자세한 내용은 다음 설명 섹션을 참조하세요.

[out] srcEntity

원본 관리 엔터티에 대한 핸들을 수신하는 변수에 대한 포인터입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

[out] dstEntity

대상 관리 엔터티에 대한 핸들을 수신하는 변수에 대한 포인터입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

[out] context

대상 관리 엔터티가 제어하는 컨텍스트(관리되는 개체 리소스 집합)에 대한 핸들을 수신하는 변수에 대한 포인터입니다.

[out] pdu

SNMP PDU(프로토콜 데이터 단위)에 대한 핸들을 수신하는 변수에 대한 포인터입니다.

[in] msgBufDesc

구성 요소로 디코딩할 SNMP 메시지를 포함하는 smiOCTETS 구조체에 대한 포인터입니다. 구조체의 len 멤버는 처리할 최대 바이트 수를 지정합니다. ptr 멤버는 인코딩된 SNMP 메시지를 가리킵니다.

반환 값

함수가 성공하면 반환 값은 디코딩된 바이트 수입니다. 이 값은 msgBufDesc 매개 변수가 가리키는 smiOCTETS 구조체의 len 멤버와 같거나 작을 수 있습니다.

함수가 실패하면 반환 값이 SNMPAPI_FAILURE. 확장된 오류 정보를 얻으려면 SnmpGetLastError를 호출합니다. SnmpGetLastError 함수는 다음 오류 중 하나를 반환할 수 있습니다.

반환 코드 설명
SNMPAPI_NOT_INITIALIZED
SnmpStartup 함수가 성공적으로 완료되지 않았습니다.
SNMPAPI_ALLOC_ERROR
메모리 할당 중에 오류가 발생했습니다.
SNMPAPI_SESSION_INVALID
세션 매개 변수가 잘못되었습니다.
SNMPAPI_ENTITY_INVALID
엔터티 매개 변수 중 하나 또는 둘 다 잘못되었습니다.
SNMPAPI_CONTEXT_INVALID
컨텍스트 매개 변수가 잘못되었습니다.
SNMPAPI_PDU_INVALID
pdu 매개 변수가 잘못되었습니다.
SNMPAPI_OUTPUT_TRUNCATED
출력 버퍼 길이가 부족합니다. 출력 매개 변수가 만들어지지 않았습니다.
SNMPAPI_MESSAGE_INVALID
msgBufDesc 매개 변수로 표시된 버퍼의 SNMP 메시지 형식이 잘못되었습니다. 출력 매개 변수가 만들어지지 않았습니다.
SNMPAPI_OTHER_ERROR
알 수 없거나 정의되지 않은 오류가 발생했습니다.

설명

Microsoft WinSNMP 구현은 애플리케이션이 SnmpDecodeMsg 함수에 SNMPv1 또는 SNMPv2C 메시지를 제출할 때 srcEntitydstEntity 매개 변수에서 0 값을 반환합니다. 메시지 형식에 WinSNMP 엔터티 리소스를 만드는 데 필요한 주소 정보가 포함되지 않기 때문입니다.

Microsoft WinSNMP 구현은 SnmpDecodeMsg 함수를 성공적으로 호출한 결과로 WinSNMP 애플리케이션에 리소스를 할당합니다. WinSNMP 애플리케이션은 리소스에 해당하는 WinSNMP 함수를 사용하여 개별 리소스를 해제하는 것이 좋습니다. 자세한 내용은 WinSNMP 설명자 해제 및 WinSNMP 데이터 관리 개념을 참조하세요.

요구 사항

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

추가 정보

SnmpEncodeMsg

SnmpFreeContext

SnmpFreeEntity

SnmpFreePdu

SnmpSendMsg

WinSNMP 함수

WinSNMP API 개요

smiOCTETS