Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#18

Re: ordnerfreigabe mit passwort

  Alt 3. Jul 2004, 10:14
Zitat von rai:
Ich hatte leider kurzfristig noch nicht die Möglichkeit unter Win9x/ME zu testen aber XP funktioniert wunderbar.
Unter Win9x funktioniert es nicht.

Vielleicht helfen Dir die Prototypen weiter:
Delphi-Quellcode:
function NetShareAdd9x(pszServer: PAnsiChar; sLevel: Smallint; const pbBuffer;
  cbBuffer: Word): NET_API_STATUS; stdcall;
  external 'svrapi.dllname 'NetShareAdd';

function NetShareAddNt(servername: LPWSTR; level: DWORD; const buf;
  parm_err: LPDWORD): NET_API_STATUS; stdcall;
  external 'netapi32.dllname 'NetShareAdd';
Zudem steht in den Strukturen ziemlicher Schrott, die 9x-Version sollte etwa so aussehen:
Delphi-Quellcode:
       VER_PLATFORM_WIN32_WINDOWS:
         begin
           ZeroMemory(@share50, SizeOf(share50));
           StrLCopy(share50.shi50_netname, PChar(netname),
             SizeOf(share50.shi50_netname));
           share50.shi50_type := STYPE_DISKTREE;
           if hidden then
             share50.shi50_flags := SHI50F_SYSTEM
           else
             share50.shi50_flags := SHI50F_FULL;
           StrLCopy(share50.shi50_rw_password, PChar(password),
             SizeOf(share50.shi50_rw_password));
           StrUpper(share50.shi50_rw_password);
           StrCopy(share50.shi50_ro_password, share50.shi50_rw_password);
           // *seufz*, wie wär's mit ne Variable?
           share50.shi50_path := PChar(@((UpperCase(path))[1]));
           NetShareAdd9x(nil, 50, share50, SizeOf(share50));
         end;
Und ein Rückgabewert hätte Deiner Funktion auch nicht schaden können

ps: komisch dass damals in Spotlight niemand meinen kompletten Wrapper fürs Archiv vorgeschlagen hat... nu isses längst nicht mehr zu finden.
  Mit Zitat antworten Zitat