Я пытаюсь написать простую программу, используя 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.
Я не могу найти в Интернете хороших руководств, примеров кода или полезной документации. Мне было интересно, если бы кто-нибудь знал что-нибудь, что могло бы привести меня в правильном направлении, например, фрагменты рабочего кода или полезные учебные пособия, это было бы здорово. Заранее спасибо :)
РЕДАКТИРОВАТЬ: я немного продвинулся, но я все еще застрял. Я пытаюсь выяснить значение окна консоли, чтобы передать его функции 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... Я не знаю, что делать дальше.
SnmpCreateSession
дважды для одного и того же окна? - person RedX   schedule 12.07.2011