다음을 통해 공유


SnmpCleanup 함수(winsnmp.h)

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

SnmpCleanup 함수는 호출하는 WinSNMP 애플리케이션에 더 이상 구현의 서비스가 필요하지 않음을 Microsoft WinSNMP 구현에 알릴 수 있습니다.

참고 WinSNMP 애플리케이션은 종료하기 전에 SnmpCleanup 함수를 마지막 WinSNMP 함수로 호출해야 합니다.
 

구문

SNMPAPI_STATUS SNMPAPI_CALL SnmpCleanup();

반환 값

함수가 성공하면 반환 값이 SNMPAPI_SUCCESS. WinSNMP 애플리케이션이 SnmpStartup 함수를 성공적으로 회수할 때까지 WinSNMP 함수에 대한 다른 호출은 확장된 오류 코드가 SNMPAPI_NOT_INITIALIZED SNMPAPI_FAILURE 반환합니다.

함수가 실패하면 반환 값이 SNMPAPI_FAILURE WinSNMP 애플리케이션은 SnmpCleanup에 대한 호출을 다시 시도할 필요가 없습니다. 확장 오류 정보를 얻으려면 세션 매개 변수에 NULL 값을 지정하는 SnmpGetLastError를 호출합니다. SnmpGetLastError 함수는 다음 오류 중 하나를 반환할 수 있습니다.

반환 코드 설명
SNMPAPI_NOT_INITIALIZED
SnmpStartup 함수가 성공적으로 완료되지 않았습니다.
SNMPAPI_ALLOC_ERROR
메모리 할당 중에 오류가 발생했습니다.
SNMPAPI_OTHER_ERROR
알 수 없거나 정의되지 않은 오류가 발생했습니다.

설명

WinSNMP 애플리케이션이 SnmpCleanup을 호출하기 전에 SnmpCreateSession 함수 호출의 결과로 구현이 열리는 각 세션에 대해 SnmpClose 함수를 한 번 호출해야 합니다.

WinSNMP 애플리케이션이 SnmpCleanup 함수를 호출하면 구현은 애플리케이션에 할당된 모든 리소스의 할당을 취소합니다. 그러나 WinSNMP 애플리케이션은 리소스에 해당하는 WinSNMP 함수를 사용하여 구현이 할당하는 특정 리소스를 해제하는 것이 좋습니다. 개별 리소스를 해제하는 방법에 대한 자세한 내용은 SnmpFreeEntity, SnmpFreeVbl, SnmpFreeDescriptor, SnmpFreeContextSnmpFreePdu를 참조하세요.

WinSNMP 애플리케이션이 비상 종료를 수행해야 하고 개별 리소스를 해제하지 않고 모든 열린 세션에 대해 SnmpClose를 호출하지 않고 SnmpCleanup을 호출하는 경우 구현은 WinSNMP 애플리케이션에 할당된 모든 리소스의 할당을 취소합니다. 그러나 구현에서 이 기능을 사용하도록 설정하려면 애플리케이션이 여전히 SnmpCleanup을 호출해야 합니다.

애플리케이션 DLL이 언로드 중일 때는 SnmpCleanup을 호출해서는 안 됩니다.

요구 사항

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

추가 정보

SnmpClose

SnmpCreateSession

SnmpFreeContext

SnmpFreeDescriptor

SnmpFreeEntity

SnmpFreePdu

SnmpFreeVbl

SnmpStartup

WinSNMP 함수

WinSNMP API 개요