wie finde ich die ip-adresse eines gemounteten netzwerklaufwerks?



  • wie finde ich die ip-adresse eines gemounteten netzwerklaufwerks?
    gibt es eine plattformübergreifende lösung?

    ich hab unter windows was versucht

    DWORD dwRetVal;
    WCHAR Buffer[1024];
    DWORD dwBufferLength = 1024;
    UNIVERSAL_NAME_INFO * unameinfo;
    REMOTE_NAME_INFO *remotenameinfo;
    unameinfo = (UNIVERSAL_NAME_INFO *) &Buffer;
    dwRetVal = WNetGetUniversalName(LPCWSTR("Y:\\myfolder\\Dokumentation.zip"), UNIVERSAL_NAME_INFO_LEVEL, (LPVOID) unameinfo, &dwBufferLength );
    
    if (dwRetVal == NO_ERROR) 
    {
    	std::string s;
    	bool res = false;
    	char* p = 0;
    	int bsz;
    	bsz=WideCharToMultiByte(CP_ACP,0,unameinfo->lpUniversalName,-1,0,0,0,0);
    
    	if (bsz > 0) 
    	{
    	        p = new char[bsz];
    		int rc= WideCharToMultiByte(CP_ACP,0,unameinfo->lpUniversalName,-1,p,bsz,0,0);
    	        if (rc != 0)
    		{
    			p[bsz-1] = 0;
    			s = p;
    			res = true;
    
    		}
    
    	}
    	//jetzt ist der abs. netzwerklaufwerkpfad in s gespeichert
    }
    

    das klappt aber nicht, da die funktion "WNetGetUniversalName" einen fehler rausspuckt. ich hab keine ahnung, wie ich einen std::string in LPCWSTR umwandle und umgekehrt. hat jemand eine idee oder einen andern ansatz? (unter linux wäre das auch interessant)


Anmelden zum Antworten