I_IrmProtector.HrProtectRMS 方法
上次修改时间: 2009年10月7日
适用范围: SharePoint Foundation 2010
生成指定的未受保护的文件的权限管理版本。
HRESULT HrProtect(
ILockBytes *pilbInput,
ILockBytes *pilbOutput,
I_ IrmPolicyInfoRMS *piid,
DWORD *pdwStatus
) PURE;
参数
pilbInput
[输入] 未受保护的文件。
pilbOutput
[输出] 信息权限管理 (IRM) 保护程序从指定的未受保护的文件生成的权限管理流。
piid
[输入] 指向帮助加密/解密过程的函数和数据的链接。
pdwStatus
[输入] 方法调用的状态。可能的值包括:
MSOIPI_STATUS_UNKNOWN
方法的结果无法确定。
MSOIPI_STATUS_PROTECT_SUCCESS
保护程序已成功生成受保护的文件流。
MSOIPI_STATUS_ALREADY_PROTECTED
文件已受 IRM 保护。
MSOIPI_STATUS_CANT_PROTECT
保护程序的一般性失败。
MSOIPI_STATUS_NOT_MY_FILE
指定的文件不是与此 IRM 保护程序关联的文件类型。
MSOIPI_STATUS_FILE_CORRUPT
指定的文件已损坏。
MSOIPI_STATUS_WSS_IRM_FAILED
保护程序无法访问 SharePoint Foundation 功能,或这些加密函数已失败。
MSOIPI_STATUS_BAD_INSTALL
保护程序未正确安装。
返回值
保护程序方法返回典型的 HRESULT 值。一般来说,在成功时,保护程序应返回一个正的 OK 值;在失败时,应返回一个负的 FAIL 值。
备注
I_IrmProtector 接口由集成和自治的 IRM 保护程序实现。有关集成的和自治的保护程序的详细信息,请参阅自定义 IRM 保护程序。
对于集成的 IRM 保护程序:
此方法采用一个表示 IRM 保护程序可以理解的类型的未受保护的文件的数据流,然后生成表示该文件的受保护的版本的相应数据流。此受保护的版本应包括受保护文件的发布许可证 (IL) 和服务器的 EUL,以及加密的文件内容本身。
文件类型开发人员必须决定将这些数据组件存储在文件中的哪个位置以及如何在文件中存储这些数据组件。不过,IRM 保护程序应与用于查看和编辑此文件类型的文件的客户端应用程序一致。
受保护的流还可以包含一条警告消息,此消息与保护程序的文件类型的客户端查看器的早期版本向后兼容。
对于自治的 IRM 保护程序:
自治的保护程序无需实现此方法。如果调用此方法,则自治的保护程序应返回 HRESULT E_NOTIMPL。