程序调用其他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

 


 

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




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





» 相关内容
  GPRS和NB-IOT的特点及选用原则
  金菊茶的功效
  数据传输中FIFO或缓冲存在的意..
  关于静电防护的一些解释
  串口通讯影响鼠标指针乱蹿的终..
  GC气相色谱原理简介-物理分离..
  使用STM32提供的DSP库函数进行..
  设置VB.NET 窗体的全局热键
  产生随机注册名称和信息的方法
  wintoUSB实现独立操作系统随你..
  提升FPGA扇出能力方法及扇出效..
  原子力显微镜的那些事儿
  FPGA中nCEO引脚的重新分配
  PIC18F4550实现鼠标操作代码
  .Net下PostMessage发送字符串..