MakeSelfRelativeSD
The MakeSelfRelativeSD
function creates a security descriptor in self-relative format by using a
security descriptor in absolute format as a template.
BOOL MakeSelfRelativeSD(
PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, |
// address of
absolute SD |
PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, |
// address
self-relative SD |
LPDWORD lpdwBufferLength |
// address of SD
size |
); |
|
Parameters
pAbsoluteSecurityDescriptor
Points to a SECURITY_DESCRIPTOR
pSelfRelativeSecurityDescriptor
Points to a
buffer the function fills with a security descriptor in self-relative format.
lpdwBufferLength
Points to a
variable specifying the size of the buffer pointed to by the pSelfRelativeSecurityDescriptor
parameter. If the buffer is not large enough for the security descriptor, the
function fails and sets this variable to the minimum required size.
Return Values
If the
function succeeds, the return value is nonzero.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError
Remarks
A security
descriptor in absolute format contains pointers to the information it contains,
rather than containing the information itself. A security descriptor in
self-relative format contains the information in a contiguous block of memory.
In a self-relative security descriptor, a SECURITY_DESCRIPTOR structure
always starts the information, but the security descriptor s other components
can follow the structure in any order. Instead of using memory addresses, the
components of the security descriptor are identified by offsets from the
beginning of the security descriptor. This format is useful when an security
descriptor must be stored on a floppy disk or transmitted by means of a
communications protocol.
A server that
copies secured objects to various media can use the MakeSelfRelativeSD
function to create a self-relative security descriptor from an absolute security
descriptor and the MakeAbsoluteSD function to create an absolute
security descriptor from a self-relative security descriptor.
See Also