ChangeSecurityPermissionsEx method of the CIM_DataFile class

The ChangeSecurityPermissionsEx method changes the security permissions for the logical data file specified in the object path (this method is an extended version of the ChangeSecurityPermissions method). If the logical file is actually a directory, then this method will act recursively, changing the security permissions for all of the files and sub-directories that the directory contains.

Important

The DMTF (Distributed Management Task Force) CIM (Common Information Model) classes are the parent classes upon which WMI classes are built. WMI currently supports only the CIM 2.x version schemas.

This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see Calling a Method.

Syntax

uint32 ChangeSecurityPermissionsEx(
  [in]           Win32_SecurityDescriptor SecurityDescriptor,
  [in]           uint32                   Option,
  [out]          string                   StopFileName,
  [in, optional] string                   StartFileName,
  [in, optional] boolean                  Recursive
);

Parameters

SecurityDescriptor [in]

Specifies security information.

Note

A NULL ACL in the SECURITY_DESCRIPTOR structure grants unlimited access. For more information about the implications of unlimited access, see Creating a Security Descriptor for a New Object.

Option [in]

Security privilege to modify. For example, to change the owner and DACL security, use:

Option = 1 + 4 or Option = CHANGE_OWNER_SECURITY_INFORMATION | CHANGE_DACL_SECURITY_INFORMATION

CHANGE_OWNER_SECURITY_INFORMATION (1)

Change the owner of the logical file.

CHANGE_GROUP_SECURITY_INFORMATION (2)

Change the group of the logical file.

CHANGE_DACL_SECURITY_INFORMATION (4)

Change the ACL of the logical file.

CHANGE_SACL_SECURITY_INFORMATION (8)

Change the system ACL of the logical file.

StopFileName [out]

String that represents the name of the file (or directory) where the method failed. This parameter is null if the method succeeds.

StartFileName [in, optional]

String that represents the child file (or directory) to use as a starting point for this method. Typically, the StartFileName parameter is the StopFileName parameter specifying the file or directory at which an error occurred from the previous method call. If this parameter is null, the operation is performed on the file (or directory) specified in the ExecMethod call.

If StartFileName is used, Recursive must be set to true as well.

Recursive [in, optional]

If True, the method is also applied recursively to files and directories within the directory that is specified by the CIM_DataFile instance. For file instances, this parameter is ignored.

Return value

Returns a value of 0 (zero) on success, and any other number to indicate an error. For additional error codes, see WMI Error Constants or WbemErrorEnum. For general HRESULT values, see System Error Codes.

Success

0

Success.

Access Denied

2

Access denied.

Unspecified failure

8

Unspecified failure.

Invalid object

9

Object name specified is not valid.

Object already exists

10

Object already exists.

File system not NTFS

11

File system not NTFS.

Platform not NT/Windows 2000

12

Platform not Windows.

Drive not the same

13

Drive not the same.

Directory not empty

14

Directory not empty.

Sharing violation

15

Sharing violation.

Invalid start file

16

The start file is not valid.

Privilege not held

17

Privilege not held.

Invalid parameter

21

A parameter is not valid.

Remarks

The ChangeSecurityPermissionsEx method in CIM_DataFile is implemented by WMI.

This documentation is derived from the CIM class descriptions published by the DMTF. Microsoft may have made changes to correct minor errors, conform to Microsoft SDK documentation standards, or provide more information.

Requirements

Requirement Value
Minimum supported client
Windows Vista
Minimum supported server
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

See also

CIM_DataFile

CIM_DataFile

WMI Tasks: Files and Folders

File and Directory Access Rights Constants