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。
返回值
此函数返回以下值之一。
值 | 含义 |
---|---|
|
修改安全描述符所需的特权被拒绝。 |
|
数据库不可访问或已损坏。 |
|
数据库已满。 |
|
会话句柄缺失或无效。 |
|
缺少对象 ID。 |
|
此对象没有安全信息。 |
|
对象 ID 无效。 |
|
函数成功。 |
注解
如果应用程序使用 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 |