升级项目。从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下修改的方法?