我想在C++中使用WinSnmp編寫一個簡單的程序。這方面的信息很少,我完全失去了信心。我想要做的就是查詢我的網絡上的打印機&閱讀發送給我的信息。這裏是我的代碼:C++中的SNMP幫助?
#include <WinSnmp.h>
#include <stdio.h>
smiLPUINT32 majorVers;
smiLPUINT32 minorVers;
smiLPUINT32 nLevel;
smiLPUINT32 translateMode;
smiLPUINT32 retranslateMode;
BYTE pdu;
int main()
{
//Starting the snmp session
SnmpStartup(majorVers, minorVers, nLevel, translateMode, retranslateMode);
printf("%i majorVers \n %i minorVers \n "
"%i nLevel \n "
"%i translateMode \n "
"%i retranslateMode \n\n",
majorVers, minorVers, nLevel, translateMode, retranslateMode);
SnmpCleanup();
}
我一直在關注的API到目前爲止,試圖找出如何將節目應該是結構化的,但它是很難寫出完全基於關閉API的程序。
我在網上找不到任何好的教程,代碼示例或有用的文檔。我想知道是否有人知道任何可能導致我朝着正確方向發展的事情,例如工作代碼片段或有用的教程,那將會很棒。在此先感謝:)
編輯:我取得了一點進展,但我仍然卡住。我想弄清楚控制檯窗口的價值,所以我可以將它傳遞給SnmpCreateSession函數,但我有問題。繼承人我的更新代碼:
#include <WinSnmp.h>
#include <stdio.h>
#define MY_BUFSIZE 1024 // Buffer size for console window titles.
smiLPUINT32 majorVers;
smiLPUINT32 minorVers;
smiLPUINT32 nLevel;
smiLPUINT32 translateMode;
smiLPUINT32 retranslateMode;
HWND window;
HWND hwndFound;
char* returnInfo;
char newWindowTitle[MY_BUFSIZE];
char oldWindowTitle[MY_BUFSIZE];
LPWSTR consoleTitle;
BYTE pdu = 1;
void Startup(){
//Starting the snmp session
SnmpStartup(majorVers, minorVers, nLevel, translateMode, retranslateMode);
printf("%i majorVers \n"
"%i minorVers \n"
"%i nLevel \n"
"%i translateMode \n"
"%i retranslateMode \n\n",
majorVers, minorVers, nLevel, translateMode, retranslateMode);
GetConsoleTitle(oldWindowTitle, MY_BUFSIZE);
hwndFound = FindWindow(NULL, oldWindowTitle);
}
void CreateSession(){
SnmpCreateSession(window,5,0,0);
printf("create session returns: %s", SnmpCreateSession(window,5,0,0));
}
int main(){
Startup();
CreateSession();
SnmpCleanup();
}
我現在所有的值都是NULL ...我不知道下一步該怎麼做。
這更像是C代碼。你甚至使用C++中不推薦使用的頭文件。 –
您是否允許在同一窗口調用兩次'SnmpCreateSession'? – RedX
我感到OP的挫敗感。 Windows SNMP有很多文檔問題。 – EhevuTov