自己在VC++中开发的DLL中的一个函数参数如下:DWORD _stdcall HKWriteKeyOrPIN
(
IN KEY_DATA *pKeyData,
IN const BYTE * pbSecretKey,
IN BYTE bSecretKeyLen
)
我在VB中想调用该函数,首先在模块中声明如下:
Public Declare Function HKWriteKeyOrPIN Lib "f:\SDK2.0Test\HKCommand\debug\HKCommand.dll" _
(ByRef KeyData As KEY_DATA, _
Optional ByRef pbSecretKey As Byte, _
Optional ByVal bSecretKeyLen As Byte) As Long这个函数内部的判断(在VC++中的原型)情况为:
如果pbSecretKey=NULL,则使用函数中KeyData参数的值;
如果pbSecretKey不为空,则使用它自身的值,pbSecretKeyLen为它的长度。我的问题是:
我现在想利用KeyData参数来传递值,所以想把pbSecretKey设置成空,但是不知道在VB中应该设置pbSecretKey成何值?
在VC的这个函数原型中判断形式为if (pbSecretKey==NULL)
但是在vb中我已经试过了以下设置:
1)Dim pbSecretKey as Byte
pbSecretKey = Empty
2) Dim pbSecretKey as Byte
pbSecretKey =&H0
3) Dim pbSecretKey(128) as Byte
pbSecretKey(0)=VbNull
都不要用,结果是因为把参数pbSecretKey传给函数后,函数接接收到的并不是一个象VC中的指向NULL类型的值。请问这问题怎样解决,我将深表感激!
(
IN KEY_DATA *pKeyData,
IN const BYTE * pbSecretKey,
IN BYTE bSecretKeyLen
)
我在VB中想调用该函数,首先在模块中声明如下:
Public Declare Function HKWriteKeyOrPIN Lib "f:\SDK2.0Test\HKCommand\debug\HKCommand.dll" _
(ByRef KeyData As KEY_DATA, _
Optional ByRef pbSecretKey As Byte, _
Optional ByVal bSecretKeyLen As Byte) As Long这个函数内部的判断(在VC++中的原型)情况为:
如果pbSecretKey=NULL,则使用函数中KeyData参数的值;
如果pbSecretKey不为空,则使用它自身的值,pbSecretKeyLen为它的长度。我的问题是:
我现在想利用KeyData参数来传递值,所以想把pbSecretKey设置成空,但是不知道在VB中应该设置pbSecretKey成何值?
在VC的这个函数原型中判断形式为if (pbSecretKey==NULL)
但是在vb中我已经试过了以下设置:
1)Dim pbSecretKey as Byte
pbSecretKey = Empty
2) Dim pbSecretKey as Byte
pbSecretKey =&H0
3) Dim pbSecretKey(128) as Byte
pbSecretKey(0)=VbNull
都不要用,结果是因为把参数pbSecretKey传给函数后,函数接接收到的并不是一个象VC中的指向NULL类型的值。请问这问题怎样解决,我将深表感激!
解决方案 »
- 我想在vb中用控件浏览网页,用什么控件,怎么使用能不能提供一些这方面的资料?帮帮我
- Setup Factory V6.0.1.4在安装的时候要注册码 可是我在网上没有找到。谢谢大家帮帮我!!!
- GGJJ帮忙,textbox的text问题,我想做个类似图书的冬冬~3Q3Q
- 老生常谈:DATAGRID控件,删除空行后,却不能继续保存.困扰我多天.
- Excel 中怎么能让生成的表格上代线,就是打印时出现的是表!请帮修改?
- 请教VB高手
- Big5 to GB ,俺查找以前的贴子,为什么无效呢?
- 关于播放器的制作问题
- 怎么在vb6.0中用api隐藏状态栏中的正在运行的某个程序
- 不可不看~~~~~vb程序员的前途与钱途
- .vbs文件用什么工具能调试呀?
- 请问如何判断空值
Public Declare Function HKWriteKeyOrPIN Lib "f:\SDK2.0Test\HKCommand\debug\HKCommand.dll" _
(ByRef KeyData As KEY_DATA, _
byval pbSecretKey As long, _
Optional ByVal bSecretKeyLen As Byte) As Long调用的时候 ,第二个参数赋空时赋0,不为空时,赋varptr(pbsecretKey)
pbsecretKey是BYTE变量