我正在尝试使用 IAttachmentExecute我的 C# 应用程序中的接口(interface)。 (使用 .NET4 和 VS2010)。
MSDN 说它在 Shdocvw.dll
中(其成员说 IAttachmentExecute
是在 Shobjidl.h/Shobjidl.idl
中指定的,这让我想到一个 73db1241-1e85-4581-8e4f-a81e1d0f8c57
GUID。)
当我在 VS 中添加对此 DLL 的引用时,我得到生成的 SHDocVw
-Namespace,但它不包含此接口(interface)。
使用 System.Type.GetTypeFromCLSID
和 System.Activator.CreateInstance
或 System.Activator.CreateComInstanceFrom
的所有其他尝试都失败并显示以下消息没有具有该 GUID 的类型。
我如何使用该界面? (不要认为有其他选择。)
提前致谢。
编辑:
生成的接口(interface)定义为:
MIDL.exe
msdn.microsoft.com/en-us/library/ms680078.aspx
Tlbimp.exe
msdn.microsoft.com/en-us/library/tt0cf3sx.aspx
编辑2:
独立于接口(interface)定义:
CoCreateInstance
的尝试因 REGDB_E_CLASSNOTREG
而失败,那么我如何才能让我的程序找到 IAttachmentExecute
。 还是我的问题错了,只是错过了解决方案/我的错误?
最佳答案
这正是我刚刚调查的内容,这是博客文章:http://joco.name/2010/12/22/windows-antivirus-api-in-net-and-a-com-interop-crash-course/
关于C# 附件执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4250341/