SetNtmsObjectSecurity function

[Removable Storage Manager is no longer available as of Windows 7 and Windows Server 2008 R2.]

The SetNtmsObjectSecurity function writes the security descriptor for the specified RSM object.

Syntax

DWORD SetNtmsObjectSecurity(
  HANDLE               hSession,
  LPNTMS_GUID          lpObjectId,
  DWORD                dwType,
  SECURITY_INFORMATION SecurityInformation,
  PSECURITY_DESCRIPTOR lpSecurityDescriptor
);

Parameters

hSession

Handle to the session returned by the OpenNtmsSession function.

lpObjectId

Unique identifier of the RSM object.

dwType

RSM object type. For a list of object types, see the NtmsObjectsTypes.

SecurityInformation

TBD

lpSecurityDescriptor

Pointer to a SECURITY_DESCRIPTOR structure that specifies the security descriptor to write to the RSM object: NTMS_USE_ACCESS, NTMS_CONTROL_ACCESS, or NTMS_MODIFY_ACCESS.

Return Value

This function returns one of the following values.

Value Meaning
ERROR_ACCESS_DENIED
The privileges required to modify the security descriptor are denied.
ERROR_DATABASE_FAILURE
The database is inaccessible or damaged.
ERROR_DATABASE_FULL
The database is full.
ERROR_INVALID_HANDLE
The session handle is missing or is not valid.
ERROR_INVALID_PARAMETER
The object ID is missing.
ERROR_NO_SECURITY_ON_OBJECT
There is no security information for this object.
ERROR_OBJECT_NOT_FOUND
The object ID is not valid.
ERROR_SUCCESS
The function was successful.

Remarks

If an application uses SetNtmsObjectSecurity to set the discretionary access-control list (ACL) of an object, the application must have WRITE_DAC permission or be the owner of the object.

If an application uses SetNtmsObjectSecurity to set the system ACL of an object, the SE_SECURITY_NAME privilege must be enabled for the application. For more information, see the SetPrivateObjectSecurity function. For more information on RSM security, see RSM Security.

Requirements

   
Windows version Windows XP [desktop apps only] Windows Server 2003 [desktop apps only]
Target Platform Windows
Header ntmsapi.h
Library Ntmsapi.lib
DLL Ntmsapi.dll

See Also

EnumerateNtmsObject

GetNtmsObjectSecurity

Object Management Functions