在.NET中将Office Name.dll用作COM对象

在.NET中将Office Name.dll用作COM对象,com,ms-office,contact,Com,Ms Office,Contact,我正在尝试将MS Office Name.dll用作COM对象。 我在这些链接中找到了一些帮助,可以在web浏览器中执行类似操作: name.dll基本上允许我从MS Lync获取状态信息并显示联系人卡 我能够成功创建一个引用name.dll的测试Windows窗体应用程序。VisualStudio为我创建了一个互操作,我可以使用类名Ctrl 该项目运行良好,我的测试应用程序能够显示联系人卡,但只有在使用旧版本的Office 2010时。 升级到Office2010SP2时,它不再工作了。

我正在尝试将MS Office Name.dll用作COM对象。 我在这些链接中找到了一些帮助,可以在web浏览器中执行类似操作:

name.dll基本上允许我从MS Lync获取状态信息并显示联系人卡

我能够成功创建一个引用name.dll的测试Windows窗体应用程序。VisualStudio为我创建了一个互操作,我可以使用类名Ctrl

该项目运行良好,我的测试应用程序能够显示联系人卡,但只有在使用旧版本的Office 2010时。 升级到Office2010SP2时,它不再工作了。使用Office 2013时,它从未工作过

实际上,我可以成功实例化该对象,但该对象的属性“PresenceEnable”始终为0,并且尝试显示联系人卡会引发异常“E_AcceseDenied 0x80070005”。在这些非工作环境中,使用webbrowser(IE/Firefox)仍然可以正常工作

有人知道怎么做才能让它工作吗?
为什么它只适用于旧版本的Office 2010,而不再适用于新版本?

我和一位Microsoft Office工程师谈过,他告诉我这个dll不是用来这样使用的:它只是用来在web浏览器中使用的