SetNtmsObjectSecurity 函数 (ntmsapi.h)

[从 Windows 7 和 Windows Server 2008 R2 起,可移动存储管理器 不再可用。]

SetNtmsObjectSecurity 函数为指定的 RSM 对象写入安全描述符。

语法

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

parameters

[in] hSession

OpenNtmsSession 函数返回的会话的句柄。

[in] lpObjectId

RSM 对象的唯一标识符。

[in] dwType

RSM 对象类型。 有关对象类型的列表,请参阅 NtmsObjectsTypes

[in] SecurityInformation

一个 SECURITY_INFORMATION 值,该值指定要写入 RSM 对象的安全信息。

[in] lpSecurityDescriptor

指向 SECURITY_DESCRIPTOR 结构的指针,该结构指定要写入 RSM 对象的安全描述符:NTMS_USE_ACCESS、NTMS_CONTROL_ACCESS或NTMS_MODIFY_ACCESS。

返回值

此函数返回以下值之一。

含义
ERROR_ACCESS_DENIED
修改安全描述符所需的特权被拒绝。
ERROR_DATABASE_FAILURE
数据库不可访问或已损坏。
ERROR_DATABASE_FULL
数据库已满。
ERROR_INVALID_HANDLE
会话句柄缺失或无效。
ERROR_INVALID_PARAMETER
缺少对象 ID。
ERROR_NO_SECURITY_ON_OBJECT
此对象没有安全信息。
ERROR_OBJECT_NOT_FOUND
对象 ID 无效。
ERROR_SUCCESS
函数成功。

注解

如果应用程序使用 SetNtmsObjectSecurity (对象的 ACL) 设置自由访问控制列表,则应用程序必须具有WRITE_DAC权限或是对象的所有者。

如果应用程序使用 SetNtmsObjectSecurity 设置对象的系统 ACL,则必须为应用程序启用SE_SECURITY_NAME特权。 有关详细信息,请参阅 SetPrivateObjectSecurity 函数。 有关 RSM 安全性的详细信息,请参阅 RSM 安全性

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 ntmsapi.h
Library Ntmsapi.lib
DLL Ntmsapi.dll

请参阅

EnumerateNtmsObject

GetNtmsObjectSecurity

对象管理功能