다음을 통해 공유


SnmpOpen 함수(winsnmp.h)

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

SnmpOpen 함수는 Microsoft WinSNMP 구현에 WinSNMP 애플리케이션에 대한 세션을 열도록 요청합니다. 이 WinSNMP 함수를 사용하면 구현에서 메모리, 리소스, 데이터 구조 및 통신 메커니즘을 할당하고 초기화할 수 있습니다. SnmpOpen 함수는 새 WinSNMP 세션에 대한 핸들을 반환합니다.

참고 새 WinSNMP 애플리케이션을 개발할 때 SnmpCreateSession 함수를 호출하여 SnmpOpen 함수를 호출하는 대신 WinSNMP 세션을 여는 것이 좋습니다.
 

구문

HSNMP_SESSION SNMPAPI_CALL SnmpOpen(
  [in] HWND hWnd,
  [in] UINT wMsg
);

매개 변수

[in] hWnd

비동기 요청이 완료되거나 트랩 알림이 발생할 때 알리기 위해 WinSNMP 애플리케이션의 창에 대한 핸들입니다.

[in] wMsg

WinSNMP 애플리케이션 창으로 보낼 알림 메시지를 식별하는 부호 없는 정수를 지정합니다.

반환 값

함수가 성공하면 반환 값은 호출 애플리케이션에 대해 구현이 열리는 WinSNMP 세션을 식별하는 핸들입니다.

함수가 실패하면 반환 값이 SNMPAPI_FAILURE. 확장 오류 정보를 얻으려면 세션 매개 변수에서 NULL 값을 지정하는 SnmpGetLastError를 호출합니다. SnmpGetLastError 함수는 다음 오류 중 하나를 반환할 수 있습니다.

반환 코드 설명
SNMPAPI_NOT_INITIALIZED
SnmpStartup 함수가 성공적으로 완료되지 않았습니다.
SNMPAPI_ALLOC_ERROR
메모리 할당 중에 오류가 발생했습니다.
SNMPAPI_HWND_INVALID
hWnd 매개 변수가 유효한 창 핸들이 아닙니다.
SNMPAPI_OTHER_ERROR
알 수 없거나 정의되지 않은 오류가 발생했습니다.

설명

SnmpOpen 함수는 호출하는 WinSNMP 애플리케이션 내에서 열려 있는 각 WinSNMP 세션에 고유한 핸들을 반환합니다. 애플리케이션은 구현에 의한 리소스 할당 및 할당 취소를 용이하게 하기 위해 SnmpOpen 이 다른 WinSNMP 함수 호출에서 반환하는 세션 핸들을 사용해야 합니다. 구현은 개별 세션에 리소스를 할당할 때 세션에 대한 SnmpClose 호출에 대한 응답으로 리소스를 순서대로 릴리스합니다.

SnmpOpen 함수는 구현에 핸들을 애플리케이션 창 및 알림 메시지 식별자에 전달합니다. wMsg 매개 변수에 지정된 알림 메시지의 wParam 구성 요소가 0과 같으면 WinSNMP 애플리케이션은 들어오는 프로토콜 데이터 단위(PDU)를 검색해야 합니다. 애플리케이션은 SnmpOpen에서 반환된 세션 핸들을 사용하여 SnmpRecvMsg 함수를 호출하여 이 작업을 수행합니다. 알림 메시지의 wParam 매개 변수가 0과 같지 않으면 WinSNMP 오류 코드를 나타냅니다. 오류 코드는 알림 메시지의 lParam 매개 변수에서 요청 식별자에 의해 식별된 PDU에 적용됩니다.

하나의 WinSNMP 애플리케이션은 여러 WinSNMP 세션을 열 수 있습니다. 애플리케이션이 동일한 창 핸들을 사용하여 여러 세션을 여는 경우 WinSNMP 애플리케이션은 각 세션에 대해 고유한 wMsg 매개 변수를 지정하는 것이 좋습니다.

WinSNMP 애플리케이션은 SnmpOpen 함수 호출의 결과로 구현이 열리는 각 세션에 대해 SnmpClose 함수를 한 번 호출하는 것이 좋습니다. WinSNMP 애플리케이션이 예기치 않게 종료되는 경우 구현에서 모든 리소스의 할당을 취소할 수 있도록 종료하기 전에 SnmpCleanup 을 호출해야 합니다. 구현은 하나의 SnmpCleanup 호출을 일련의 SnmpClose 호출인 것처럼 처리하고, SnmpOpen 호출의 결과로 구현이 열리는 각 세션에 대해 하나의 호출을 처리합니다.

WinSNMP 세션을 열고 사용 가능한 SNMP 메시지 및 비동기 이벤트를 세션에 알리는 데 사용되는 메서드를 지정하는 방법에 대한 자세한 내용은 SnmpCreateSession을 참조하세요. SnmpCreateSession을 호출할 때 창 알림 메시지 또는 SNMPAPI_CALLBACK 함수를 지정하여 세션에 알릴 수 있습니다.

자세한 내용은 WinSNMP 세션을 참조하세요.

요구 사항

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

추가 정보

SNMPAPI_CALLBACK

SnmpCleanup

SnmpClose

SnmpCreateSession

SnmpRecvMsg

WinSNMP 함수

WinSNMP API 개요