Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Was ist das für eine SID?

  Alt 7. Mär 2007, 13:41
Hallo Michael,

entweder du machst eine Fallunterscheidung oder du nimmst NameLen 0 als Entscheidungsgrundlage:

Delphi-Quellcode:
function StrSIDToName(const StrSID: Widestring; var Name: WideString; var SIDType: DWORD): DWORD;
//...
begin
//...
    NameLen := 0;
    TempLen := 0;
    LookupAccountSidW(nil, SID, nil, NameLen, nil, TempLen, SIDType); // discard result
    if NameLen > 0 then
//...
end;
err würde ich in ok umbenennen - du arbeitest doch mit Positivlogik. Die buffer allocation würde ich um ein Byte vergrößern, weil NUL als WideChar auch zwei Byte belegen dürfte. Vermutlich musst du noch die Behandlung der Domänenbezeichnung über TempLen analog NameLen anpassen - ich habe das nicht getestet.

Freundliche Grüße
  Mit Zitat antworten Zitat