ChangeSecurityPermissionsEx method of the Win32_Directory class

The ChangeSecurityPermissionsEx WMI class method changes the security permissions for the directory entry file specified in the object path (this method is an extended version of the ChangeSecurityPermissions method). If the logical file is a directory, then this method is recursive, and changes the security permissions of all of the files and subdirectories that the directory contains.

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]

Expression that resolves to an instance of Win32_SecurityDescriptor. This parameter contains new security permissions for the instance of Win32_PageFile.

Option [in]

Security privilege to be modified. For example, to change the owner and discretionary access control list (DACL) security, use the following:

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 DACL list of the logical file.

CHANGE_SACL_SECURITY_INFORMATION (8)

Change the system access control list (SACL) of the logical file.

StopFileName [out]

Name of the file or directory where the ChangeSecurityPermissionsEx method failed. This parameter is null if the method succeeds.

StartFileName [in, optional]

Names the child file or directory to use as a starting point for ChangeSecurityPermissionsEx. Typically, the StartFileName parameter is the StopFileName parameter that specifies the file or directory where an error occurred from the previous method call. If this parameter is null, the operation is performed on the file or directory that is specified in the ExecMethod call. This parameter is optional.

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

Recursive [in, optional]

If true, the change of ownership is applied recursively to files and directories within the directory specified by the CIM_LogicalFile instance. For file instances, the Recursive input parameter is ignored. This parameter is optional.

Return value

Returns a value of 0 (zero) if the permissions are changed, and a different number to indicate an error.

Success

0

The request is successful.

Access Denied

2

Access is denied.

Unspecified failure

8

An unspecified failure occurred.

Invalid object

9

The specified name is not valid.

Object already exists

10

The specified object already exists.

File system not NTFS

11

The file system is not an NTFS file system.

Platform not NT/Windows 2000

12

The platform is not Windows.

Drive not the same

13

The drive is not the same.

Directory not empty

14

The directory is not empty.

Sharing violation

15

There is a sharing violation.

Invalid start file

16

The specified start file is not valid.

Privilege not held

17

A privilege required for the operation is not held.

Invalid parameter

21

A specified parameter is not valid.

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

Operating System Classes

Win32_Directory