我希望我的程序通过将MapiMessage传递给MAPISendMail来在用户最喜欢的电子邮件客户端中撰写传出电子邮件。电子邮件的元素(如主题)可作为不可变字符串(例如const char*
)提供给我的程序。使用const_cast<LPSTR>
将这些字符串的地址直接传递给MAPI实施是否被认为是“安全”?MAPI可以被不可变字符串信任吗?
我推测LPSTR
只用于MAPI,因为API是非常古老的,几年前还没有普遍使用不可变字符串的做法,或者为什么它们需要可变。另一方面,也许有一个很好的理由,为什么字符串需要变化,我只是没有看到它。不幸的是,我一直无法找到许多信息来支持这一点,无论如何。