Seite 1 von 1

BeitragVerfasst: Mo 18. Aug 2008, 22:02
Author: Interceptor
Hi!


In besagter Datei gibt es ja ne Variable (??) welche sich "nLevel" schimpft!

Code: Alles auswählen
CString CPreferences::GetHomepageBaseURLForLevel(int nLevel){
   CString tmp;
   if (nLevel == 0)
      tmp = L"http://emule-project.net";
   else if (nLevel == 1)
      tmp = L"http://www.emule-project.org";
   else if (nLevel == 2)
      tmp = L"http://www.emule-project.com";
   else if (nLevel < 100)
      tmp.Format(L"http://www%i.emule-project.net",nLevel-2);
   else if (nLevel < 150)
      tmp.Format(L"http://www%i.emule-project.org",nLevel);
   else if (nLevel < 200)
      tmp.Format(L"http://www%i.emule-project.com",nLevel);
   else if (nLevel == 200)
      tmp = L"http://emule.sf.net";
   else if (nLevel == 201)
      tmp = L"http://www.emuleproject.net";
   else if (nLevel == 202)
      tmp = L"http://sourceforge.net/projects/emule/";
   else
      tmp = L"http://www.emule-project.net";
   return tmp;
}


Wenn ich nun versuche, den Sinn von nLevel zu verstehen, dann lande ich ständig in atldebugapi.h! (und das müsste ja ne "externe" Header-file sein!) irgendwas mit debug??

Das erste was mir dabei in den Sinn gekommen ist, dass es was mit IP-Ranges zu tun haben könnte!


Kann mir wer nen kleinen schubs geben?


PS: Ich möchte nicht alles vorgekaut bekommen, mir genügt ein Wink mit dem Zaunpfahl! Denn dann ist der Lerneffekt für mich größer!

BeitragVerfasst: Mo 18. Aug 2008, 22:12
Author: Tuxman
Verwendet wird das offenbar primär in IsDefaultNick; was es damit auf sich hat, weiß ich nun ohne Nachschauen allerdings auch nicht...

BeitragVerfasst: Mo 18. Aug 2008, 22:36
Author: Interceptor
Verwendet wird das offenbar primär in IsDefaultNick; was es damit auf sich hat, weiß ich nun ohne Nachschauen allerdings auch nicht...


Über DefaultNick bin ich ja dahin gelangt!

Es wird ja der Wert von nLevel ausgelesen, und je nach Ausgabe, wird eine andere Url für GetHomepageBaseURLForLevel gesetzt! Aber für was die verschiedenen Url's sein sollen check ich nicht ganz!

Den Sinn könnte man leichter verstehen, wenn man wüsste weshalb nLevel in atldebugapi.h bestimmt wird!


hier mal nen Auszug aus besagter header-file:


Code: Alles auswählen
/*void __cdecl AtlTraceA(HINSTANCE hInst, UINT nCategory, [b]UINT nLevel[/b], const CHAR *pszFormat, ...);
void __cdecl AtlTraceU(HINSTANCE hInst, UINT nCategory, [b]UINT nLevel[/b], const WCHAR *pszFormat, ...);*/

void __cdecl AtlTraceVA(DWORD_PTR dwModule, const char *pszFileName, int nLineNo,
                  DWORD_PTR dwCategory, [b]UINT nLevel[/b], const CHAR *pszFormat, va_list ptr);
void __cdecl AtlTraceVU(DWORD_PTR dwModule,const char *pszFileName, int nLineNo,
                  DWORD_PTR dwCategory, [b]UINT nLevel[/b], const WCHAR *pszFormat, va_list ptr);

BOOL __stdcall AtlTraceLoadSettingsA(const CHAR *pszFileName, DWORD_PTR dwProcess = 0);
BOOL __stdcall AtlTraceLoadSettingsU(const WCHAR *pszFileName, DWORD_PTR dwProcess = 0);
BOOL __stdcall AtlTraceSaveSettingsA(const CHAR *pszFileName, DWORD_PTR dwProcess = 0);
BOOL __stdcall AtlTraceSaveSettingsU(const WCHAR *pszFileName, DWORD_PTR dwProcess = 0);

typedef struct ATLTRACESETTINGS
{
   [b]UINT nLevel[/b];
   ATLTRACESTATUS eStatus;
} ATLTRACESETTINGS;

typedef struct ATLTRACEPROCESSSETTINGS
{
   [b]UINT nLevel[/b];
   BOOL bEnabled, bFuncAndCategoryNames, bFileNameAndLineNo;
} ATLTRACEPROCESSSETTINGS;

BeitragVerfasst: Fr 22. Aug 2008, 08:22
Author: WiZaRd
nLevel hat mit der atldebugapi nichts zu tun, das ist ein Funktionsparameter der übergeben wird (werden kann, sofern ein Standardparameter gesetzt ist), schau dir an wie die Funktion deklariert wurde und wo sie überall aufgerufen wird!