다음을 통해 공유


SnmpEncodeMsg 함수(winsnmp.h)

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

Microsoft WinSNMP 구현은 WinSNMP SnmpEncodeMsg 함수에 전달된 매개 변수를 사용하여 SNMP 메시지를 인코딩합니다. 구현은 msgBufDesc 매개 변수로 지정된 버퍼의 WinSNMP 애플리케이션에 인코딩된 SNMP 메시지를 반환합니다.

구문

SNMPAPI_STATUS SNMPAPI_CALL SnmpEncodeMsg(
  [in]  HSNMP_SESSION session,
  [in]  HSNMP_ENTITY  srcEntity,
  [in]  HSNMP_ENTITY  dstEntity,
  [in]  HSNMP_CONTEXT context,
  [in]  HSNMP_PDU     pdu,
  [out] smiLPOCTETS   msgBufDesc
);

매개 변수

[in] session

WinSNMP 세션에 대한 핸들입니다.

[in] srcEntity

SNMP 메시지 인코딩 요청을 시작하는 관리 엔터티에 대한 핸들입니다.

[in] dstEntity

대상 관리 엔터티에 대한 핸들입니다.

[in] context

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

[in] pdu

SNMP 작업 요청을 포함하는 PDU에 대한 핸들입니다.

[out] msgBufDesc

인코딩된 SNMP 메시지를 수신하는 smiOCTETS 구조체에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값은 인코딩된 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_OTHER_ERROR
알 수 없거나 정의되지 않은 오류가 발생했습니다.

설명

SnmpEncodeMsg 함수에 전달된 처음 5개의 매개 변수는 SnmpSendMsg 함수에 전달되는 것과 동일한 매개 변수입니다.

WinSNMP 애플리케이션은 SnmpFreeDescriptor 함수를 호출하여 smiOCTETS 구조체의 ptr 멤버에 할당된 리소스를 해제해야 합니다. msgBufDesc 매개 변수가 가리키는 구조체입니다. 자세한 내용은 WinSNMP 데이터 관리 개념을 참조하세요.

입력 시 SnmpEncodeMsg 함수는 msgBufDesc 매개 변수가 가리키는 구조체의 멤버를 무시합니다. 함수가 성공적으로 완료되면 구현에서 구조체의 멤버를 덮어씁니다.

구현은 처음 5개의 입력 매개 변수의 형식을 확인합니다. 매개 변수 중 하나가 잘못된 경우 SnmpEncodeMsg 는 SNMPAPI_FAILURE 반환하고 SnmpGetLastError 는 확장된 오류 코드를 반환합니다.

요구 사항

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

추가 정보

SnmpDecodeMsg

SnmpFreeDescriptor

SnmpSendMsg

WinSNMP 함수

WinSNMP API 개요

smiOCTETS