3、设置传输模式,用到的函数是:
SNMPAPI_STATUS SnmpSetTranslateMode( smiUINT32 nTranslateMode // new entity/context translation mode ); |
该函数只有一个参数,有以下几种选择:
SNMPAPI_TRANSLATED 不常用 SNMPAPI_UNTRANSLATED_V1 版本V1 SNMPAPI_UNTRANSLATED_V2 版本V2 |
你可以选择任一个参数,我使用过第二和第三个参数,其区别是在版本一中get_bulk的操作不被允许,因为版本一不支持这种操作,其具体细节可查阅有关资料,推荐一本书《用SNMP管理互联网络》。至于第一个参数本人未作过试验,不能加以妄断。
4、创建实体,用到的函数是:
HSNMP_ENTITY SnmpStrToEntity( HSNMP_SESSION session, // handle to the WinSNMP session LPCSTR string // pointer to a string that identifies // the entity ); |
该函数的第一个参数是第二步返回的会话句炳,第二个参数与你在第三步中设置的传输模式有关,如果你选则后两个参数,那么这里的string就是你要发送消息的网络设备ip地址或接收消息的管理设备ip地址。根据自己的需要,通常我们将这两个实体都创建一下。该函数返回一个实体句炳。
5、设置重传模式,用到的函数是:
SNMPAPI_STATUS SnmpSetRetransmitMode( smiUINT32 nRetransmitMode // new retransmission mode ); |
该函数只有一个参数,有以下两种选择
SNMPAPI_ON 启动重传模式 SNMPAPI_OFF 关闭重传模式 |
6、设置超时时间,用到的函数是:
SNMPAPI_STATUS SnmpSetTimeout( HSNMP_ENTITY hEntity, // destination management entity smiTIMETICKS nPolicyTimeout // new time-out value for database ); |
该函数的第一个参数是第四步返回的实体句炳,通常我们设置目标实体的超时时间,也就是接收消息的网络设备的实体。第二个参数是超时的时间。
7、设置重传次数,用到的函数是:
SNMPAPI_STATUS SnmpSetRetry( HSNMP_ENTITY hEntity, // destination management entity smiUINT32 nPolicyRetry // new retry count value for database ); |
该函数的第一个参数是第四步返回的实体句炳,通常我们设置目标实体的重传次数,也就是接收消息的网络设备的实体。第二个参数是重传次数。
8、创建上下文句炳,用到的函数是:
HSNMP_CONTEXT SnmpStrToContext( HSNMP_SESSION session, // handle to the WinSNMP session smiLPCOCTETS string // pointer to a string structure ); |
该函数的第一个参数是第二步返回的会话句炳,第二个参数与你在第三步中设置的传输模式有关,如果你选则后两个参数,那么这里的string就是共同体名。该函数返回一个上下文句炳。
由此我们的到了三个重要的句炳,总结一下:1。会话句炳,2。实体句炳,3。上下文句炳,请记住这三个重要的句炳,因为它们在SNMP编程(www.cppentry.com)过程中时刻用到,只有在结束后才释放他们。
|