SnmpCreatePdu 함수(winsnmp.h)
[SNMP는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. 대신 WS-Man의 Microsoft 구현인 Windows 원격 관리를 사용합니다.]
WinSNMP SnmpCreatePdu 함수는 SNMP PDU(프로토콜 데이터 단위)를 만들고 초기화합니다.
구문
HSNMP_PDU SNMPAPI_CALL SnmpCreatePdu(
[in] HSNMP_SESSION session,
[in] smiINT PDU_type,
[in] smiINT32 request_id,
[in] smiINT error_status,
[in] smiINT error_index,
[in] HSNMP_VBL varbindlist
);
매개 변수
[in] session
WinSNMP 세션에 대한 핸들입니다.
[in] PDU_type
SNMP 작업을 식별하는 PDU 형식을 지정합니다. 이 매개 변수는 NULL이거나 다음 값 중 하나일 수 있습니다. 이 매개 변수가 NULL인 경우 Microsoft WinSNMP 구현은 SNMP_PDU_GETNEXT 기본 PDU 형식을 제공합니다. SnmpCreatePdu 함수를 호출하여 만들 수 있는 유일한 유형의 트랩 PDU는 SNMPv2C 트랩 PDU입니다.
[in] request_id
WinSNMP 애플리케이션이 PDU를 식별하기 위해 제공하는 고유한 숫자 값을 지정합니다. 이 매개 변수가 NULL이면 구현에서 값을 할당합니다.
[in] error_status
PDU_type 매개 변수가 SNMP_PDU_GETBULK 같으면 이 매개 변수는 PDU의 non_repeaters 필드에 대한 값을 지정합니다. 다른 PDU 형식의 경우 이 매개 변수는 PDU의 error_status 필드에 대한 값을 지정합니다. 이 매개 변수는 NULL일 수 있습니다.
[in] error_index
PDU_type 매개 변수가 SNMP_PDU_GETBULK 같으면 이 매개 변수는 PDU의 max_repetitions 필드에 대한 값을 지정합니다. 다른 PDU 형식의 경우 이 매개 변수는 PDU의 error_index 필드에 대한 값을 지정합니다. 이 매개 변수는 NULL일 수 있습니다.
[in] varbindlist
SNMP 변수 바인딩 목록을 나타내는 구조체에 대한 핸들입니다. 이 매개 변수는 NULL일 수 있습니다.
반환 값
함수가 성공하면 반환 값은 새 SNMP PDU에 대한 핸들입니다.
함수가 실패하면 반환 값이 SNMPAPI_FAILURE. 확장 오류 정보를 얻으려면 SnmpGetLastError를 호출합니다. SnmpGetLastError 함수는 다음 오류 중 하나를 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
SnmpStartup 함수가 성공적으로 완료되지 않았습니다. |
|
메모리 할당 중에 오류가 발생했습니다. |
|
세션 핸들이 잘못되었습니다. |
|
PDU 형식이 잘못되었습니다. |
|
변수 바인딩 목록이 잘못되었습니다. |
|
알 수 없거나 정의되지 않은 오류가 발생했습니다. |
설명
WinSNMP 애플리케이션은 SnmpSendMsg 또는 SnmpEncodeMsg 함수를 호출하기 전에 PDU를 만들어야 합니다.
SnmpCreatePdu 함수의 모든 매개 변수가 필요합니다. 그러나 세션 매개 변수를 제외한 모든 매개 변수는 NULL일 수 있습니다. 이 instance 새 PDU에는 다음과 같은 기본값이 있습니다.
필드 | 콘텐츠 |
---|---|
PDU_type | SNMP_PDU_GETNEXT |
request_id | 구현은 숫자 값을 생성합니다. |
error_status | SNMP_ERROR_NOERROR |
error_index | 0 |
varbindlist | NULL |
애플리케이션은 SnmpFreePdu 함수를 호출하여 SnmpCreatePdu 함수가 새 PDU에 할당하는 리소스를 해제해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | winsnmp.h |
라이브러리 | Wsnmp32.lib |
DLL | Wsnmp32.dll |