0

我需要从 C# 调用 Microsoft Office Protector (OpcIrmProtector) 的功能。这个保护器实现了I_IrmProtector接口(详情:http: //msdn.microsoft.com/en-us/library/ms475158%28v=office.14%29.aspx)。打电话HrInit()是没有问题的。

但是例如,HrIsProtected()我需要提供ILockBytes. 有没有人体验过如何ILockBytes在托管代码中正确实现?对于这里的预期,我有点不知所措。

对于非托管代码,我找到了一个使用CreateILockBytesOnHGlobal(). 这将返回 的非托管实例ILockBytes。有没有机会从托管代码中使用这个非托管实例(可能不是......)或将其编组到托管结构中?或者C#有类似的方法吗?在这种情况下,我不必实施ILockBytes,这将为我节省大量时间。

当然,我可以在非托管代码中实现这部分,但如果可能的话,我更喜欢托管代码中的解决方案......

谢谢!

4

1 回答 1

0

是的。从 Microsoft下载AD RMS Bulk Protection 工具,然后使用Reflector之类的工具对其进行反编译。这使用 IrmProtectorWrapper、MsoIrmProtector 和 OpcIrmWrapper DLL。

于 2015-02-20T21:25:35.417 回答