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.