Active directory AD RMS托管代码错误系统找不到指定的文件。HRESULT:0x80070002

Active directory AD RMS托管代码错误系统找不到指定的文件。HRESULT:0x80070002,active-directory,rights-management,Active Directory,Rights Management,我是Active Directory Rights Management Services(AD RMS)的新手,我正在开发一个应用程序来使用AD RMS加密一些文档。我正在使用interop示例,但得到了一个错误-系统找不到指定的文件。HRESULT:0x80070002-当我尝试运行以下代码时: 我尝试运行此语句时出错: 集合ipcTemplates=IPC.GetTemplates() 内部静态类IPC { 静态IPC() { SafeNativeMethods.IpcInitialize

我是Active Directory Rights Management Services(AD RMS)的新手,我正在开发一个应用程序来使用AD RMS加密一些文档。我正在使用interop示例,但得到了一个错误-系统找不到指定的文件。HRESULT:0x80070002-当我尝试运行以下代码时:

我尝试运行此语句时出错:

集合ipcTemplates=IPC.GetTemplates()

内部静态类IPC
{
静态IPC()
{
SafeNativeMethods.IpcInitialize();
}
公共静态集合GetTemplates()
{
集合模板=null;
尝试
{
templates=SafeNativeMethods.IPGetTemplateList(null、true、true、,
假,假,空,空);
}
捕获(异常/*ex*/)
{
/*TODO:添加日志记录*/
投掷;
}
返回模板;
}
}
堆栈跟踪:

系统找不到指定的文件。HRESULT:0x80070002 在c:\Microsoft.InformationProtectionAndControl\SafeNativeMethods.cs:第1678行中的Microsoft.InformationProtectionAndControl.SafeNativeMethods.ThrowOnErrorCode(Int32 hrError)中 在c:\Microsoft.InformationProtectionAndControl.SafeNativeMethods.IPGetTemplateList(ConnectionInfo ConnectionInfo,Boolean forceDownload,Boolean suppressUI,Boolean offline,Boolean HasUserApprove,Form parentForm,CultureInfo CultureInfo)中的c:\Microsoft.InformationProtectionAndControl\SafeNativeMethods.cs:第137行 在c:\IPC.cs中的IPC.GetTemplates()处

此外,我还设置了一个生成后事件,以确保每次编译代码时都创建清单文件。该应用程序是托管在windows服务中的WCF服务。我有一个非常简单的控制台应用程序


如果您能帮助解决此错误以及使用托管代码的任何AD RMS示例,我们将不胜感激:)

对于可能遇到此问题的任何其他人,我可以通过添加SafeNativeMethods.IpcSetAPIMode(APIMode.Server)来解决我的问题;对于我的静态构造函数,如下所示:

static IPC()
    {
        SafeNativeMethods.IpcInitialize();
        SafeNativeMethods.IpcSetAPIMode(APIMode.Server);
    }

您是如何让RMS对当前用户进行身份验证的?我不断收到一个错误,说它不能这样做。
static IPC()
    {
        SafeNativeMethods.IpcInitialize();
        SafeNativeMethods.IpcSetAPIMode(APIMode.Server);
    }