在c#中实现ILockBytes(用于I_IrmProtector)
本文关键字:IrmProtector 用于 实现 ILockBytes | 更新日期: 2023-09-27 18:17:06
我需要从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
,这将节省我很多时间。
当然,我可以在非托管代码中实现这部分,但如果可能的话,我更喜欢托管代码的解决方案…
谢谢!
是。从微软下载AD RMS Bulk Protection工具,然后使用Reflector之类的工具进行反编译。这使用了IrmProtectorWrapper, MsoIrmProtector和OpcIrmWrapper dll。