对于ATL来说,要消除该安全提示就是需要将标记控件为安全的,也就是要实现IObjectSafety这个类,
具体的方法如下:
1.找到你dll控件的接口实现类的.H文件,例如控件名称为“ATLTest”,则头文件名称为“ATLTest.h”的
继承类 class ATL_NO_VTABLE CATLTest : 列表的末尾,并在上一行中添加一个逗号,并加上
public IObjectSafetyImpl<类名, INTERFACESAFE_FOR_UNTRUSTED_CALLER>
2. 将下行添加到 ATLTest.h 中的 COM 映射 (BEGIN_COM_MAP(CATLTest))
COM_INTERFACE_ENTRY(IObjectSafety) 即可
3. 如果IObjectSafetyImpl 未定义, 则需包含Atlctl.h