Auflistung von Dateien in einer Freigabe



  • Hallo Zusammen,

    ich versuche auf einer Remote-Freigabe eine Auflistung der enthaltenen Dateien zu erstellen. Leider bekomme ich bei der Ausführung immer folgenden Output:

    FindFirstFile failed (67)

    Ich finde leider keine Informationen zu Fehlercode 67.

    Kann mir jemand sagen was ich hier falsch mache?

    int ListRemoteFiles(char *server, char *netname)
    {
    	NETRESOURCE nr = { 0 };
    	nr.dwType = RESOURCETYPE_DISK;
    	nr.lpRemoteName = server;
    	DWORD ret = WNetAddConnection2(&nr, (LPSTR)NULL, (LPSTR)NULL, CONNECT_TEMPORARY);
    	HANDLE hFind;	
    	WIN32_FIND_DATA fd;
    
    	CString searchpath = "\\\\" + CString(server) + "\\" + CString(netname) + "\\*.*";
    	HANDLE findHandle = FindFirstFile(searchpath, &fd);
    
    	printf(searchpath);
    
    	if (findHandle != INVALID_HANDLE_VALUE) 
    	{
    		printf("FindFirstFile failed (%d)\n", GetLastError());
    		FindClose(findHandle);
    	}
    	else
    	{
    		_tprintf(TEXT("The first file found is %s\n"),fd.cFileName);
    	}
    
    	WNetCancelConnection2(nr.lpRemoteName, 0, TRUE);
    	return 0;
    }
    


  • Mit dem beim VS beiliegenden Tool "errlook.exe" erhält man bei 67:

    Der Netzwerkname wurde nicht gefunden.



  • Danke für den Tipp mit errlook.exe.

    Der Pfad existiert aber definitiv.

    Obwohl der Pfad existiert funktioniert aber auch diese Funktion nicht:

    WIN32_FIND_DATA FindFileData;
    	HANDLE hFind;
    
    	hFind = FindFirstFile("\\\\192.168.10.8\\share\\*.*", &FindFileData);
    	if (hFind == INVALID_HANDLE_VALUE)
    	{
    		printf("FindFirstFile failed (%d)\n", GetLastError());
    		return 0;
    	}
    	else
    	{
    		_tprintf(TEXT("The first file found is %s\n"),
    			FindFileData.cFileName);
    		FindClose(hFind);
    	}
    
    	return 0;
    

    Das Programm hängt eine ganze Weile und endet dann mit Code 53 (Der Netzwerkpfad wurde nicht gefunden. )

    Jemand evtl. eine Idee warum?

    Danke.



  • Mein Fehler...
    Dank DHCP hat sich die IP geändert und der Pfad existierte nicht (mehr)..

    Trotzdem danke für die Hilfe.


Anmelden zum Antworten