Как определить владельца файла на Delphi

Функция определяет владельца файла.

function GetFileOwner (FileName: string; var Domain, Username: string): Boolean;
var
SecDescr: PSecurityDescriptor;
SizeNeeded, SizeNeeded2: DWORD;
OwnerSID: PSID;
OwnerDefault: BOOL;
OwnerName, DomainName: PChar;
OwnerType: SID_NAME_USE;
begin
GetFileOwner := False;
GetMem (SecDescr, 1024);
GetMem (OwnerName, 1024);
GetMem (DomainName, 1024);
if GetFileSecurity (PChar (FileName),
OWNER_SECURITY_INFORMATION,
SecDescr, 1024, SizeNeeded) then
if GetSecurityDescriptorOwner (SecDescr,
OwnerSID, OwnerDefault) then
SizeNeeded := 1024;
SizeNeeded2 := 1024;
if LookupAccountSID (nil, OwnerSID, OwnerName,
SizeNeeded, DomainName, SizeNeeded2, OwnerType) then
Domain := DomainName;
Username := OwnerName;
FreeMem (SecDescr);
FreeMem (OwnerName);
FreeMem (DomainName);
GetFileOwner := True;
end;

About admin

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!

Подтвердите, что Вы не бот — выберите самый большой кружок: