DRMCreateRight 函数 (msdrm.h)

[AD RMS SDK 利用由 公开的功能

Msdrm.dll 中的客户端可用于 Windows Server 2008、Windows Vista、Windows Server 2008 R2、Windows 7、Windows Server 2012 和 Windows 8。 它可能被更改,或者

在后续版本中不可用。 请改用 Active Directory Rights Management Services SDK 2.1

它利用客户端在 Msipc.dll.] 中公开的功能。

DRMCreateRight 函数创建一个 XrML 权限,该权限将定义授予用户或组的权限。

语法

DRMEXPORT HRESULT UDAPICALL DRMCreateRight(
  [in]  PWSTR        wszRightName,
  [in]  SYSTEMTIME   *pstFrom,
  [in]  SYSTEMTIME   *pstUntil,
  [in]  UINT         cExtendedInfo,
  [in]  PWSTR        *pwszExtendedInfoName,
  [in]  PWSTR        *pwszExtendedInfoValue,
  [out] DRMPUBHANDLE *phRight
);

parameters

[in] wszRightName

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含用户定义的或标准 XrML (版本 1.2 的名称) 右侧。 有关详细信息,请参阅 官方模板 XrML

[in] pstFrom

指向 SYSTEMTIME 结构的指针,该结构包含此权限将变为有效的时间(以 UTC 时间为单位)。 有关详细信息,请参阅“备注”。 必须同时指定 pstFrompstUntil ,或者两者都必须为 NULL

[in] pstUntil

指向 SYSTEMTIME 结构的指针,该结构包含此权限将过期的时间(以 UTC 时间为单位)。 有关详细信息,请参阅“备注”。 必须同时指定 pstFrompstUntil ,或者两者都必须为 NULL

[in] cExtendedInfo

pwszExtendedInfoNamepwszExtendedInfoValue 数组中的元素数。 如果此参数为零,则 pwszExtendedInfoNamepwszExtendedInfoValue 参数必须为 NULL

[in] pwszExtendedInfoName

一个以 null 结尾的 Unicode 字符串指针的数组,其中包含扩展信息数据的名称。 此数组中的每个名称必须是唯一的。 cExtendedInfo 参数包含此数组中的元素数。

[in] pwszExtendedInfoValue

一个以 null 结尾的 Unicode 字符串指针的数组,其中包含扩展信息项的值。 cExtendedInfo 参数包含此数组中的元素数。

[out] phRight

指向接收所创建权限句柄的句柄的指针。 此句柄可以与 DRMAddRightWithUser 函数一起使用,以将权限绑定到用户。 调用 DRMClosePubHandle 以关闭句柄。

返回值

如果函数成功,该函数将返回S_OK。

如果函数失败,它将返回一个 指示错误的 HRESULT 值。 可能的值包括但不限于以下列表中的值。 有关常见错误代码的列表,请参阅 通用 HRESULT 值

注解

应用程序负责确定可以向用户授予哪些权限。 Active Directory Rights Management Services 强制实施的唯一权利是 EDIT,它授予用户修改内容的权限。

权限可以具有可以用 XML 有效表示的任何名称。

pstFrompstUntil 参数指定右侧的开始和结束有效期。 必须同时指定这两个参数,或者两者均为 NULL。 应用程序不能只设置一个有效期。

创建有效期较短的许可证时可能出现的一个问题是时钟偏差问题。 时钟倾斜 是发布计算机的时钟与最终用户的计算机时钟不完全对齐时。 时钟倾斜可能会导致尝试行使权限失败。 有关详细信息,请参阅 时钟倾斜

pwszExtendedInfoNamepwszExtendedInfoValue 参数是指向两个并行数组的指针,这些数组关联包含其他特定于右侧的信息的名称-值对。 这些名称-值对可以指定所需的任何其他信息,并且使用 DRMGetRightExtendedInfo 按索引号检索它们。 扩展信息项是可选的,但如果提供了名称或值,则其他数组中的相应项不能为 NULL

调用 DRMClosePubHandle 以关闭通过调用此函数创建的右侧的句柄。

要求

   
目标平台 Windows
标头 msdrm.h
Library Msdrm.lib
DLL Msdrm.dll

另请参阅

AD RMS 函数

创建和使用颁发许可证

OnlineSigning_GetUnsignedIL.cpp