dynamische DLL mit Parametern



  • Ich möchte in meiner Anwendung eine DLL dynamisch laden.
    In der dll ist eine Funktion die die eigene IP scannen soll:

    __declspec(dllexport) void SetStringx(CString& str, int& port, int& port2) 
    {   
    AfxMessageBox(str); 
    CString updatema;
    
    	while(port <= port2,port++){
    
    		updatema=str;
    		CSocket s;
    	VERIFY( s.Create()); 
    	if( ! s.Connect(updatema, port)){
    		AfxMessageBox("Port ist geschlossen !",port);
    	}
    	else {
    		AfxMessageBox("Port ist offen !",port);
    	}
    	s.Close();
    	if(port==port2){
    		break;
    	}
    	}
    
    }
    

    Ich verstehe das Beispiel im Forum aber nicht so ganz.
    Wie kann ich denn nun den Aufruf in der exe machen, wenn ich
    die IP und portvon/portbis mitgeben will ?

    In der exe bisher:

    CString ip ="127.0.0.1";
    int p1=135;
    int p2=139;
    
    FARPROC pFunc; 
    HMODULE hMod = LoadLibrary("c:\\selfscan.dll"); 
    pFunc = GetProcAddress(hMod, "SetStringx");//hier klappt nichts...SetStringx(..)? 
    
    if (pFunc)
    
    (*pFunc)();//oder muss ich hier die variuablen mitgeben ??
    else
    MessageBox("dll nicht geladen");
      FreeLibrary(hMod);
    


  • Über google findest du tausende Beispiele.



  • Ich bin schon am googeln. Das Problem ist auch weniger die dll,
    denn ohne Parameter geht es, sondern mehr, wie ich dem Aufruf
    die zu nutzenden Variablen mitgebe.

    Wenn du ein Beispiel parat hast, würde ein Link reichen und
    ich versuche mich daran. Habe leider selbst nicht wirklich
    etwas verständliches gefunden.





  • Danke 😉


Anmelden zum Antworten