CreatePrivateObjectSecurity
The CreatePrivateObjectSecurity
function allocates and initializes a self-relative security descriptor for a
new protected server s object. This function is called when a new protected
server object is being created.
BOOL CreatePrivateObjectSecurity(
PSECURITY_DESCRIPTOR ParentDescriptor, |
// pointer to
parent directory SD |
PSECURITY_DESCRIPTOR CreatorDescriptor, |
// pointer to
creator SD |
PSECURITY_DESCRIPTOR *NewDescriptor, |
// pointer to
pointer to new SD |
BOOL IsDirectoryObject, |
// container flag
for new SD |
HANDLE Token, |
// handle to
client s access token |
PGENERIC_MAPPING GenericMapping |
// pointer to
access-rights structure |
); |
|
Parameters
ParentDescriptor
Points to the
security descriptor for the parent directory in which a new object is being
created. If there is no parent directory, this parameter can be NULL.
CreatorDescriptor
Points to a
security descriptor provided by the creator of the object. If the object s
creator does not explicitly pass security information for the new object, this
parameter is intended to be NULL.
lppsdNew
Points to a
pointer to the newly allocated security descriptor created when the function
returns.
IsDirectoryObject
Specifies
whether the new object is a container. A value of TRUE indicates the object
contains other objects, such as a directory.
Token
Identifies
the access token for the client process on whose behalf the object is being
created. If this is an impersonation token, it must be at
SecurityIdentification level or higher. For a full description of the
SecurityIdentification impersonation level, see the SECURITY_IMPERSONATION_LEVEL
A client token is used to retrieve default security information for the
new object, such as its default owner, primary group, and discretionary
access-control list. The token must be open for TOKEN_QUERY access.
GenericMapping
Points to a GENERIC_MAPPING
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
If a system
access-control list, or SACL, is specified in the SECURITY_DESCRIPTOR
See Also