日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

win10+vs2017 snmp开发实例

發布時間:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 win10+vs2017 snmp开发实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// TestSnmp.cpp : 此文件包含 "main" 函數。程序執行將在此處開始并結束。 //#include <iostream> #include <winsock2.h> #include <snmp.h> #include <mgmtapi.h> #pragma comment(lib,"snmpapi.lib") #pragma comment(lib,"mgmtapi.lib")#define MAXNUMIP 10000 #define MAXNUMLIST 200 #define GET 0 #define GETNEXT 1 #define SET 2 #define WALK 3 #define INIFILENAME ".\\SNMPTools.ini"#define SYSDESCR "1.3.6.1.2.1.1.1.0" //ObjectID for system descriptor #define SYSOBJECTID "1.3.6.1.2.1.1.2.0" //ObjectID for system object ID #define SYSCONTACT "1.3.6.1.2.1.1.4.0" //ObjectID for system contact #pragma comment(lib, "ws2_32.lib") int main(int argc, char *argv[]) {std::cout << "Hello World!\n"; int operation = 0;AsnObjectIdentifier reqObject;RFC1157VarBindList variableBindings;LPSNMP_MGR_SESSION session;BYTE requestType;AsnInteger errorStatus;AsnInteger errorIndex;int i;variableBindings.list = NULL;variableBindings.len = 0;if (!SnmpMgrStrToOid(LPSTR(".1.3.6.1.2.1.1.1.0"), &reqObject)){printf("ERR 1.\n");return 1;}else{variableBindings.len++;if ((variableBindings.list = (RFC1157VarBind *)SNMP_realloc(variableBindings.list, sizeof(RFC1157VarBind) *variableBindings.len)) == NULL){printf("Error2 \n");return 1;}variableBindings.list[variableBindings.len - 1].name = reqObject;variableBindings.list[variableBindings.len - 1].value.asnType = ASN_NULL;}if ((session = SnmpMgrOpen(LPSTR("192.168.1.16"), LPSTR("public"), 6000, 3)) == NULL){printf("error on SnmpMgrOpen %d\n", GetLastError());return 1;}if (operation == GET)requestType = ASN_RFC1157_GETREQUEST;elserequestType = ASN_RFC1157_GETNEXTREQUEST;i = 0;while (SnmpMgrRequest(session, requestType, &variableBindings, &errorStatus, &errorIndex)){// The API is indicating an error.if (errorStatus > 0){printf("Error: errorStatus=%d, errorIndex=%d\n", errorStatus, errorIndex);break;}else{// Display the resulting variable bindings.UINT i;char *string = NULL;for (i = 0; i < variableBindings.len; i++){SnmpMgrOidToStr(&variableBindings.list[i].name, &string);//printf("Variable = %s\n", string);printf("%l100s\t", string);if (string) SNMP_free(string);//printf("Value = ");SnmpUtilPrintAsnAny(&variableBindings.list[i].value);printf("\n");} // end for()} // end elsei++;if (i == 1000)break;} // end whileSnmpUtilVarBindListFree(&variableBindings);if (!SnmpMgrClose(session)){printf("error on SnmpMgrClose %d\n", GetLastError());return 1;}getchar();return 0; }

?

總結

以上是生活随笔為你收集整理的win10+vs2017 snmp开发实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。