Netzwerkfreigabe erzeugen

pschilling

Erfahrenes Mitglied
Hi zusammen,

gibt es eine Möglichkeit programmtechnisch eine Netzwerkfreigabe zu erzeugen?

In meinem Programm werden zur Laufzeit mehrere Verzeichnisse mit CreateDirectory(...) erzeugt und ich möchte diesen Verzeichnissen automatisch eine Netzwerkfreigabe verpassen, so dass der Kunde dies nicht händisch machen muss.

Ist dies überhaupt möglich? Finde nichts entsprechendes im Inet.

Vielen Dank im vorraus,

Peter

Hi nochmal,

das Problem hat sich erledigt. Habe die feine Methode NetShareAdd gefunden, mit der ich genau das erledigen kann.

Für alle, die es auch machen wollen hier mein Code:
Code:
            if( CreateDirectory(tourDir, NULL) ) {
                SHARE_INFO_2 si2;
                DWORD parm_err = 0;

                si2.shi2_netname = realTourNr.AllocSysString();
                si2.shi2_type = STYPE_DISKTREE; // disk drive
                CString remark;
                remark.Format("Freigabe für Tour %s", realTourNr);
                si2.shi2_remark = remark.AllocSysString();
                si2.shi2_permissions = 0;    
                si2.shi2_max_uses = 4;
                si2.shi2_current_uses = 0;    
                si2.shi2_path = tourDir.AllocSysString();
                si2.shi2_passwd = NULL; // no password

                NET_API_STATUS res = NetShareAdd(NULL,2,(LPBYTE)&si2, &parm_err );
                if( res != 0 ) {
                     // Fehlerbehandlung
                }
            }

Ihr inkludiert Lm.h und linkt gegen die netapi32.lib.

Vorsicht bei Win95,98,ME!! Lest dazu die Remarks in der MSDN!!

Ciao,

Peter
 
Zuletzt bearbeitet:
Zurück