C++ で WinSnmp を使用して簡単なプログラムを作成しようとしています。これに関する情報はほとんどなく、私は完全に迷っています。私がやりたいことは、ネットワーク上のプリンターにクエリを実行し、送信された情報を読み取ることだけです。これが私のコードです:
#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 に基づいてプログラムを作成することは困難です。
優れたチュートリアル、コード例、または役立つドキュメントがオンラインで見つかりません。誰かが私を正しい方向に導くことができる何かを知っているかどうか、たとえばコードスニペットや役立つチュートリアルなど、それは素晴らしいだろうと思っていました. 前もって感謝します :)
EDIT:私は少し進歩しましたが、まだ立ち往生しています。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 です...次に何をすべきかわかりません。