程序调用其他dll或com组件的参数类型转换


用户自行编写的程序,往往和第三方的dll(可能不同于用户的编译工具编写)调用时发生问题,首当其冲的是注意参数和函数的类型转换匹配问题。比如用户程序是vb.net,而第三方的dll是vc++写的,那么就要注意,VC的long型是 4个字节,而vb.net的long型是8个字节,integer是4个字节,所以调用dll的long型参数的时候,在vb.net里要定义成integer型,这样才可以获得正确的参数传递和返回。 其他类型依次类推。比如single型和single型 都是 4个字节,这个没啥好说的。各种类型列表如下:

VC++与VB数据类型对应关系

VC++

VB

short

Integer

int

Long

long

Long

UNIT

Long

ULONG

Long

WORD

DWORDLong

WPARAM

LPARAMLong

WMSG

UMSGLong

HRESULT

Long

BOOL

Boolean

COLORREF

Long

HWND,HDC,HBRUSH,HKEY,等等

Long

LPSTR

LPCSTRString

LPWSTR,OLECHARBSTR

String

LPTSTR

String

VARIANT_BOOL

Boolean

unsignedchar

Byte

BYTE

Byte

VARIANTVariant
(任何以*或**结尾的数据类型)

Long

 


 

点击数: 1942    打印  添加到收藏   发布时间: 2015-07-31




上一篇:mornsun隔离型DCDC输入输出共地无压力
下一篇:.Net调试线程方法-包括调用第三方DLL线程





» 相关内容
  引起疲劳的原因Get一下
  条件语句switch和if效率比较
  浅谈框架式编码
  信号发生器的DDS实现方式NCO
  有关旅行
  JIC文件与SOF文件运行不一致原..
  域名绑定到空间的方法
  承认不足究竟有多难
  手机
  情深不寿,慧极必伤
  BGA封装及焊接方法
  划痕的几种修复方法
  忘却的纪念
  GPRS和NB-IOT的特点及选用原则
  金菊茶的功效