다음을 통해 공유


SnmpCreateSession 함수(winsnmp.h)

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

SnmpCreateSession 함수는 Microsoft WinSNMP 구현에 WinSNMP 애플리케이션에 대한 세션을 열도록 요청합니다. 애플리케이션은 구현이 사용 가능한 SNMP 메시지 및 비동기 이벤트를 WinSNMP 세션에 알리는 방법을 지정할 수 있습니다. 애플리케이션은 창 알림 메시지 또는 SNMPAPI_CALLBACK 함수를 지정하여 세션에 알릴 수 있습니다.

SnmpCreateSession 함수는 WinSNMP API 버전 2.0의 요소입니다. 새 WinSNMP 애플리케이션을 개발할 때 SnmpCreateSession 을 호출하여 SnmpOpen 함수를 호출하는 대신 WinSNMP 세션을 여는 것이 좋습니다.

구문

HSNMP_SESSION SNMPAPI_CALL SnmpCreateSession(
  [in] HWND             hWnd,
  [in] UINT             wMsg,
  [in] SNMPAPI_CALLBACK fCallBack,
  [in] LPVOID           lpClientData
);

매개 변수

[in] hWnd

비동기 요청이 완료되거나 트랩 알림이 발생할 때 알리기 위해 WinSNMP 애플리케이션의 창에 대한 핸들입니다. 이 매개 변수는 세션의 창 알림 메시지에 필요합니다.

[in] wMsg

WinSNMP 애플리케이션 창으로 보낼 알림 메시지를 식별하는 부호 없는 정수를 지정합니다. 이 매개 변수는 세션의 창 알림 메시지에 필요합니다.

[in] fCallBack

애플리케이션에서 정의한 세션별 SNMPAPI_CALLBACK 함수의 주소를 지정합니다. 구현은 알림을 사용할 수 있을 때 WinSNMP 세션에 알리기 위해 이 함수를 호출합니다.

이 매개 변수는 세션에 대한 콜백 알림을 지정하는 데 필요합니다. 세션에 대한 창 알림 메시지를 지정하려면 이 매개 변수가 NULL 이어야 합니다. 자세한 내용은 다음 설명 섹션을 참조하세요.

[in] lpClientData

fCallback 매개 변수로 지정된 콜백 함수에 전달할 애플리케이션 정의 데이터에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다. fCallback 매개 변수가 NULL이면 구현에서 이 매개 변수를 무시합니다.

반환 값

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

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

반환 코드 설명
SNMPAPI_NOT_INITIALIZED
SnmpStartup 함수가 성공적으로 완료되지 않았습니다.
SNMPAPI_ALLOC_ERROR
메모리 할당 중에 오류가 발생했습니다.
SNMPAPI_HWND_INVALID
fCallback 매개 변수는 NULL이지만 hWnd 매개 변수는 유효한 창 핸들이 아닙니다.
SNMPAPI_MESSAGE_INVALID
fCallback 매개 변수는 NULL이지만 wMsg 매개 변수는 유효한 메시지 값이 아닙니다.
SNMPAPI_MODE_INVALID
fCallback 매개 변수는 NULL이고 hWndwMsg 매개 변수는 개별적으로 유효합니다. 그러나 값은 Windows 플랫폼에서 상호 호환되지 않습니다.
SNMPAPI_OPERATION_INVALID
매개 변수 값의 조합은 콜백 알림 또는 창 알림 메시지를 지정하지 않습니다.
SNMPAPI_OTHER_ERROR
알 수 없거나 정의되지 않은 오류가 발생했습니다.

설명

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

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

콜백 알림

fCallback 매개 변수가 SnmpCreateSession 함수를 성공적으로 호출할 때 NULL이 아닌 경우 구현은 fCallback 매개 변수로 지정된 콜백 함수를 사용하여 세션에 알림 메시지를 표시합니다.

다음은 SnmpCreateSession 함수를 호출하여 구현이 콜백 알림을 사용하여 메시지 및 이벤트에 대한 세션 신호를 요청하는 예제입니다.

hSession = SnmpCreateSession (0, 0, myFunc, <NULL|myData>);

창 알림 메시지

SnmpCreateSession 함수는 애플리케이션 창 및 알림 메시지 식별자에 대한 핸들을 구현에 전달합니다. 애플리케이션 창이 wMsg 매개 변수로 지정된 알림 메시지를 받으면 WinSNMP 애플리케이션은 들어오는 PDU(프로토콜 데이터 단위)를 검색해야 합니다. 애플리케이션은 SnmpCreateSession에서 반환된 세션 핸들을 사용하여 SnmpRecvMsg 함수를 호출하여 이 작업을 수행합니다.

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

다음은 SnmpCreateSession 함수를 호출하여 구현이 창 알림 메시지를 사용하여 메시지 및 이벤트에 대한 세션 신호를 요청하는 예제입니다.

hSession = SnmpCreateSession (myWnd, myMsg, NULL, NULL);

요구 사항

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

추가 정보

SNMPAPI_CALLBACK

SnmpCleanup

SnmpClose

SnmpRecvMsg

WinSNMP 함수

WinSNMP API 개요