Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Security-Descriptor verwenden

  Alt 26. Sep 2004, 18:59
Hi,
diese API-Aufrufe treiben mich noch zur Weißglut. Ich habe jetzt einfach mal das ganze versucht, wie du es erklärt hast und wie es eigentlich funktionieren müsste. Jetzt sieht das ganze Gerüst ungefähr so aus:
Delphi-Quellcode:
  // create security-descriptor
  OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, dwProcToken);
  if (CreatePrivateObjectSecurity(nil, nil, sdSecurity, false,
                                    dwProcToken,
                                    gmGenMap) = false) then begin
    MessageDlg('ShareManager should be create an object for system-security.'
                +' But this has failed.', mtError, [mbOK], 0);
    Exit;
  end;

  // fill structure with data
  pBuffer.shi502_netname := StrToWC(edtName.Text);
  pBuffer.shi502_type := STYPE_DISKTREE;
  pBuffer.shi502_remark := StrToWC(edtRemark.Text);
  pBuffer.shi502_permissions := dwPerm;
  pBuffer.shi502_max_uses := DWORD(-1);
  pBuffer.shi502_current_uses := 0;
  pBuffer.shi502_path := StrToWC(edtPath.Text);
  pBuffer.shi502_reserved := 0;
  pBuffer.shi502_security_descriptor := @sdSecurity;

  // now add resource
  case NetShareAdd(nil, 502, @pBuffer, @dwResult) of
    {...}
Jetzt wird zwar der Security-Descriptor erstellt, allerdings bekomme ich immer noch ERROR_INVALID_PARAM für shi*_security_descriptor zurück. Irgendwo steckt also immer noch ein Fehler. Kann sich das noch irgendeiner erklären? Ich kann es zumindest nicht.

Chris
  Mit Zitat antworten Zitat