Der Security Descriptor ist ein Record, der auch deinen Owner enthält.
Delphi-Quellcode:
PSecurityDescriptor = ^tSecurityDescriptor;
TSecurityDescriptor = record
Owner : TSid;
end;
pOwner := @SD^.Owner;
Die Funktion gibt einen Zeiger auf den Descriptor, sowie auf den Owner zurück. Und du kopierst den Zeigerwert (nicht Inhalt) nach Result.
Wenn du jetzt den SD löscht, dann wird der Rückgabewert ungültig.