WinSNMP 설명자 해제
WinSNMP 프로그래밍 환경은 설명자에 대한 메모리를 할당하는 구성 요소에 따라 설명자 리소스의 할당을 WinSNMP 구현 또는 WinSNMP 애플리케이션에 할당합니다.
smiOID 또는 smiOCTETS 설명자에 대한 리소스를 해제하려면 다음 규칙이 적용됩니다.
입력 매개 변수의 경우
WinSNMP 애플리케이션은 길이가 가변적인 입력 개체에 대한 메모리를 할당하므로 애플리케이션은 적절한 함수를 사용하여 해당 메모리를 해제해야 합니다. 예를 들어 애플리케이션이 GlobalAlloc 함수를 호출하여 리소스를 할당한 경우 GlobalFree 함수를 사용하여 리소스 할당을 취소해야 합니다. 애플리케이션이 HeapAlloc 함수를 호출하여 리소스를 할당한 경우 HeapFree 함수를 호출해야 합니다.
출력 매개 변수의 경우
다음 함수를 호출하면 구현에서 smiOID 또는 smiOCTETS 설명자에 대한 메모리를 할당합니다. SnmpGetVb, SnmpEncodeMsg, SnmpOidCopy, SnmpContextToStr 및 SnmpStrToOid.
구현은 이러한 출력 개체에 대한 메모리를 할당하므로 애플리케이션은 SnmpFreeDescriptor 함수를 호출하여 리소스 할당을 취소해야 합니다. 이 함수를 사용하면 구현에서 이러한 구조체의 ptr 멤버에 할당된 메모리를 해제할 수 있습니다.
smiVALUE 구조체에 대한 리소스를 해제하려면 WinSNMP 애플리케이션이 smiVALUE 구조체의 구문 멤버를 검사 구조체의 값 멤버를 올바르게 평가해야 합니다. 구문 멤버가 값 멤버가 smiOCTETS 또는 smiOID 설명자이고 구현이 설명자에 대한 리소스를 할당했음을 나타내는 경우 애플리케이션은 SnmpFreeDescriptor를 호출해야 합니다. 이렇게 하면 구현에서 메모리를 해제할 수 있습니다. 애플리케이션이 리소스를 할당한 경우 앞에서 설명한 대로 적절한 함수를 사용하여 메모리를 해제해야 합니다.
자세한 내용은 WinSNMP 메모리 개체 할당을 참조하세요.