可以将SuppressUnmanagedCodeSecurityAttribute
应用于COM Interop接口以提高性能,还是仅适用于优化本机函数调用? MSDN says:
此属性仅在应用于PInvoke方法(或包含PInvoke方法的类)或将通过其进行互操作调用的接口定义时才有效。在所有其他情况下都会被忽略。
但是,我并不确定是否包含COM互操作。
答案 0 :(得分:2)
根据this MS page,您可以让Tlbimp.exe通过传递" / unsafe"将SuppressUnmanagedCodeSecurity属性应用于您的COM接口。开关。我可以确认它的工作方式与简单的测试TLB相同。
答案 1 :(得分:1)
或将通过其进行互操作调用的接口的定义
谈到COM接口。该属性必须应用于接口声明才能生效。请注意,获取有多难,COM接口通常在由Tlbimp.exe生成的互操作库中声明。缺少自动生成属性的选项。实际上,如果您自己声明接口,则只能执行此操作。