自己在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类型的值。请问这问题怎样解决,我将深表感激!