SetFileSecurityW function (securitybaseapi.h)
The SetFileSecurity function sets the security of a file or directory object.
This function is obsolete. Use the SetNamedSecurityInfo function instead.
Syntax
BOOL SetFileSecurityW(
[in] LPCWSTR lpFileName,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor
);
Parameters
[in] lpFileName
A pointer to a null-terminated string that specifies the file or directory for which security is set. Note that security applied to a directory is not inherited by its children.
[in] SecurityInformation
Specifies a SECURITY_INFORMATION structure that identifies the contents of the security descriptor pointed to by the pSecurityDescriptor parameter.
[in] pSecurityDescriptor
A pointer to a SECURITY_DESCRIPTOR structure.
Return value
If the function succeeds, the function returns nonzero.
If the function fails, it returns zero. To get extended error information, call GetLastError.
Remarks
The SetFileSecurity function is successful only if the following conditions are met:
- If the owner of the object is being set, the calling process must have either WRITE_OWNER permission or be the owner of the object.
- If the discretionary access control list (DACL) of the object is being set, the calling process must have either WRITE_DAC permission or be the owner of the object.
- If the system access control list (SACL) of the object is being set, the SE_SECURITY_NAME privilege must be enabled for the calling process.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Target Platform | Windows |
Header | securitybaseapi.h (include Windows.h) |
Library | Advapi32.lib |
DLL | Advapi32.dll |
See also
GetFileSecurity
Low-level Access Control
Low-level Access Control Functions
SECURITY_DESCRIPTOR
SECURITY_INFORMATION
SetKernelObjectSecurity
SetNamedSecurityInfo
SetPrivateObjectSecurity
SetUserObjectSecurity