Dateifreigabe im LAN
-
Ich versuche durch mein Programm den Ordner D:\Downloads freizugeben,
welchen ich gelegentlich für einen zweiten PC freigeben muss.Ich erhalte zwar das Freigabesymbol für den Ordner und kann auch auf diesen
Zugreifen, aber gehe ich in einen Unterordner oder versuche eine Datei
zu öffnen, erhalte ich die Meldung, dass ich nicht die Berechtigung zum
öffnen besitze.Hier mein Code:
NET_API_STATUS res; SHARE_INFO_2 p; DWORD parm_err = 0; CString v="d:\\download\\"; p.shi2_netname = L"Download"; p.shi2_type = STYPE_DISKTREE; // disk drive p.shi2_remark = L"TEST2"; p.shi2_permissions = 0; p.shi2_max_uses = 4; p.shi2_current_uses = 0; CString str = "d:\\download\\" ; LPWSTR lpszW = new WCHAR[255]; LPTSTR lpStr = str.GetBuffer( str.GetLength() ); int nLen = MultiByteToWideChar(CP_ACP, 0,lpStr, -1, NULL, NULL); MultiByteToWideChar(CP_ACP, 0, lpStr, -1, lpszW, nLen); p.shi2_path = lpszW ; p.shi2_passwd = NULL; // no password res=NetShareAdd(NULL, 2, (LPBYTE)&p, &parm_err); if(res==ERROR_INVALID_NAME) MessageBox("Error im Filedings","0"); if(res==0) MessageBox("Share created.","0"); else MessageBox("Error","0");
-
Hoppla, es muss natürlich d:\\download heißen nicht d:\\download\\
Aber das Problem besteht dennoch. Ich habe das unter WinXp Home getestet.
Es sollte doch theoretisch gehen, da auch kein Passwort gesetzt ist.
Das Löschen der Freigabe geht auch wunderbar. Nur der Zugriff ist offenbar
Glückssache. Mal gehts, dann wieder nicht...
-
Ok ich glaube ich habe zumindest die Quelle des Problem.
Sobald ich in meinem Projekt#define UNICODE #define FORCE_UNICODEeinbinde, erhalte ich diese Fehlermeldungen an anderen Stellen im
Projekt.C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlconv.h(1000): error C2084: Funktion 'LPDEVMODEA AtlDevModeW2A(LPDEVMODEA,const DEVMODEW *)' hat bereits einen Funktionsrumpf
...error C2440: '=': 'const char [1]' kann nicht in 'LPCWSTR' konvertiert werden
Ohne die defines geht alles zu kompilieren, aber ich komme nur
mit Glück auf die Freigaben rauf
Hat jemand eine Idee dazu ?
-
Was für eine Windows-Version hast du denn? Evtl. musst du einfach nur noch shi2_permissions entsprechend setzen

Mit der share_info_50-Struktur gibt es hier ein Beispiel
-
Guten Morgen!
Ich habe Windows XP home laufen. Der Link funktioniert leider nicht

Wie muss ich shi2_permissions setzen ? Meinst du mit ACCESS_ALL ?
-
Auf einem anderen Testrechner mit Windows 2K läuft alles einwandfrei.
Ich kann dort mit XP home auf die Shares zugreifen.
Nur auf Windows XP home nicht. "Zugriff verweigert".Kann das jemand von euch mal auf Windows XP Prof. testen und
das Ergebnis hier posten ? Vielleicht liegt es ja an "Home".
-
Raid7 schrieb:
Der Link funktioniert leider nicht

Sorry, hatte irgendwie beim kopieren der URL Mist gebaut
- jetzt sollte er gehen 
Raid7 schrieb:
Auf einem anderen Testrechner mit Windows 2K läuft alles einwandfrei.
Ich kann dort mit XP home auf die Shares zugreifen.
Nur auf Windows XP home nicht. "Zugriff verweigert".Habe kein XP, sondern auch 2000 - und dort muss man für sowas afaik den Gast-Account aktivieren. Falls es das bei XP-home auch gibt, kannst du das evtl. mal versuchen (ist aber nur ins Blaue hinein geraten)

-
Hi, leider ohne Erfolg. Auch mit aktivem Gastkonto war nichts
zu machen. Evtl. findet sich noch jemand mit WinXp Prof.
der das testen kann. Würde mich wirklich sehr interessieren!Ein Passwort unter XP Home setzen zu wollen bringt ja eh nichts,
da man das dort doch überhaupt nicht kann afaik.
Dort kann also die Fehlerquelle kaum liegen oder ?Wennich die Freigabe zwar erstellen kann und auch sehe, aber dennoch
im LAN unter den einsehbaren Freigaben nicht reinkomme, woran kann
es dann noch liegen ? Welche erweiterten Rechte muss man denn sonst
bei Freigaben noch haben ? Alle händisch angelegten Freigaben kann
ich ja auch nutzen...hmm ??
-
Sorry dass ich dieses Thema nochmal aufwärmen muss. Aber mir
will nicht wirklich in den Sinn, warum ich zwar eine Freigabe
erstellen kann (z.B. c:\) und auch die Unterordner sehe, dann
aber nur in bestimmte Ordner gehen kann (z.B. Dokumente und Einstellungen).Kann ich noch irgendwie an die Rechte kommen oder diese auf dem PC
mit der Freigabe setzen, um wie bei einer von Hand angelegten Freigabe
ALLE Unterordner einsehen zu können ? bei den Permissions habe ich bereits
ACCESS_ALL angegeben.
-
So,letzter Nachtrag evtl. fällt noch jemandem was zum Thema ein!
Ich habe rausgefunden, dass ich CD-Rom-Laufwerke problemlos freigeben
und darauf zugreifen kann.
Gebe ich C: frei kann ich nur wenige Ordner einsehen, bei den meisten
kommt "Zugriff verweigert" bei raus.Komisch ist dass die Ordner die ich nicht einsehen kann alle unter
Eigenschaften Größe "0" Byte haben, obwohl Daten drin sind.
Ist aber eben nicht bei allen der Fall !!Das mit dem Gastaccount brachte auch keine Änderung.
