ATL8最新的更新 PROP_ENTRY_TYPE替换了PROP_ENTRY,安全性体现在哪里?

时间:2021-09-06 08:58:08
1. 使用PROP_ENTRY有何潜在的风险?
2. 用PROP_ENTRY_TYPE替换PROP_ENTRY,如何体现安全性的提升?是什么样的机制来实现?

11 个解决方案

#1


ATL8/ATL9依然保留了PROP_ENTRY啊。
对你的问题不是很明白,这个和安全性有什么关系?
#define  PROP_ENTRY(szDesc, dispid, clsid) \
{OLESTR(szDesc), dispid, &clsid, &__uuidof(IDispatch), 0, 0, VT_EMPTY},
#define PROP_ENTRY_TYPE(szDesc, dispid, clsid, vt) \
{OLESTR(szDesc), dispid, &clsid, &__uuidof(IDispatch), 0, 0, vt},
//ATL持久性
struct ATL_PROPMAP_ENTRY
{
LPCOLESTR szDesc;
DISPID dispid;
const CLSID* pclsidPropPage;
const IID* piidDispatch;
DWORD dwOffsetData;
DWORD dwSizeData;
VARTYPE vt;
};

唯一的区别就是一个后者需要指定变量的类型

#2


应该是 PROP_ENTRY_TYPE_EX.

http://msdn.microsoft.com/zh-cn/office/ds84x0xt.aspx

#3


http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331374

#4


http://msdn.microsoft.com/en-us/visualc/ee309358.aspx
看看这个。
为什么增加property's type会变得更安全?

#5


《深入解析ATL》书中好像有讲这些宏的区别。

#6


这个是内部实现可能有一些参数没有做检测或者什么其他vulnerability...

#7


这条线路让它更安全?
ATL8最新的更新 PROP_ENTRY_TYPE替换了PROP_ENTRY,安全性体现在哪里?

#8


to Tr0j4n
这个图片是什么文章里的?给个链接

#9


MS官网上有

#10


楼上都是牛人

#11


http://msdn.microsoft.com/en-us/visualc/ee309358.aspx

图片的链接

#1


ATL8/ATL9依然保留了PROP_ENTRY啊。
对你的问题不是很明白,这个和安全性有什么关系?
#define  PROP_ENTRY(szDesc, dispid, clsid) \
{OLESTR(szDesc), dispid, &clsid, &__uuidof(IDispatch), 0, 0, VT_EMPTY},
#define PROP_ENTRY_TYPE(szDesc, dispid, clsid, vt) \
{OLESTR(szDesc), dispid, &clsid, &__uuidof(IDispatch), 0, 0, vt},
//ATL持久性
struct ATL_PROPMAP_ENTRY
{
LPCOLESTR szDesc;
DISPID dispid;
const CLSID* pclsidPropPage;
const IID* piidDispatch;
DWORD dwOffsetData;
DWORD dwSizeData;
VARTYPE vt;
};

唯一的区别就是一个后者需要指定变量的类型

#2


应该是 PROP_ENTRY_TYPE_EX.

http://msdn.microsoft.com/zh-cn/office/ds84x0xt.aspx

#3


http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331374

#4


http://msdn.microsoft.com/en-us/visualc/ee309358.aspx
看看这个。
为什么增加property's type会变得更安全?

#5


《深入解析ATL》书中好像有讲这些宏的区别。

#6


这个是内部实现可能有一些参数没有做检测或者什么其他vulnerability...

#7


这条线路让它更安全?
ATL8最新的更新 PROP_ENTRY_TYPE替换了PROP_ENTRY,安全性体现在哪里?

#8


to Tr0j4n
这个图片是什么文章里的?给个链接

#9


MS官网上有

#10


楼上都是牛人

#11


http://msdn.microsoft.com/en-us/visualc/ee309358.aspx

图片的链接