我需要从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
,这将节省我很多时间。
当然,我可以在非托管代码中实现此部分,但如果可能的话,我更喜欢托管代码中的解决方案......
谢谢!
答案 0 :(得分:0)
是。从Microsoft下载AD RMS Bulk Protection tool,然后使用Reflector之类的内容对其进行反编译。这使用IrmProtectorWrapper,MsoIrmProtector和OpcIrmWrapper DLL。