The GetPrivateObjectSecurity retrieves information from a protected server object's security descriptor.
BOOL GetPrivateObjectSecurity(
PSECURITY_DESCRIPTOR ObjectDescriptor, | // address of SD to query |
SECURITY_INFORMATION SecurityInformation, | // requested information |
PSECURITY_DESCRIPTOR ResultantDescriptor, | // address of retrieved SD |
DWORD DescriptorLength, | // size of buffer for retrieved SD |
PDWORD ReturnLength | // address of buffer size required for SD |
); |
Parameters
ObjectDescriptor
Points to a SECURITY_DESCRIPTOR structure. This is the security descriptor to be queried.
SecurityInformation
Specifies a SECURITY_INFORMATION structure that identifies the security information being requested.
ResultantDescriptor
Points to a buffer receiving a copy of the requested information from the specified security descriptor. The SECURITY_DESCRIPTOR structure is returned in self-relative format.
DescriptorLength
Specifies the size, in bytes, of the buffer pointed to by the ResultantDescriptor parameter.
ReturnLength
Points to a variable the function sets to zero if the descriptor is copied successfully. If the buffer is too small for the security descriptor, this variable receives the number of bytes required. If this variable's value is greater than the value of the DescriptorLength parameter when the function returns, the function returns FALSE and none of the security descriptor is copied to the buffer.
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
An application must perform appropriate access/privilege checks and audits before calling this function.
See Also
CreatePrivateObjectSecurity, DestroyPrivateObjectSecurity, GetFileSecurity, GetKernelObjectSecurity, GetUserObjectSecurity, SECURITY_DESCRIPTOR, SECURITY_INFORMATION, SetPrivateObjectSecurity