升级项目。从6.0到2012。
升级后出现调用dll中c的方法:
DLLEXPORT BOOL WINAPI InsUpdDel( LPSTR lpSqlStr, LPRTNINFO RtnInfo )
其中 LPSTR lpSqlStr 是_char × 类型,在API _winnt.h中定义:
winnt.h
// ANSI (Multi-byte Character) types
//
typedef Null_terminated CHAR NPSTR, LPSTR, *PSTR;
为传入的sql,LPRTNINFO RtnInfo 是自己在头文件中定义的构造体构造体:
typedef struct {
long ErrCode;
char ErrMsg[71];
} RTN_INFO;
typedef RTN_INFO* LPRTNINFO;
_当ErrMsg 传入汉字时,报错:传递给系统调用的数据区域太小。HERSULT:0x8007007A。
当lpSqlStr传入汉字时,却不会报错。
求大神指点,这到底是怎么一回事?
vb中如果要改,实在太麻烦,有没有什么能够在VC下修改的方法?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。