我的dll是有c++生成的 现在要被vb6调用测试,第一次自己做了一个报错哪位帮我看看
c语言的void sha2_hmac( const unsigned char *key, size_t keylen,
const unsigned char *input, size_t ilen,
unsigned char output[32], int is224 );
我改写的vbpublic declare Function sha2_hmac Lib ".\sha2.dll"(ByVal key(5) As Byte, ByVal keyLen(5) As Integer, ByVal input(5) as Byte, ByVal intputLen(5), ByVal is224 as Integer)
c语言的void sha2_hmac( const unsigned char *key, size_t keylen,
const unsigned char *input, size_t ilen,
unsigned char output[32], int is224 );
我改写的vbpublic declare Function sha2_hmac Lib ".\sha2.dll"(ByVal key(5) As Byte, ByVal keyLen(5) As Integer, ByVal input(5) as Byte, ByVal intputLen(5), ByVal is224 as Integer)
解决方案 »
- 请教关于记录的问题
- 該語句什么意思---最后3分
- 用VB如何实时显示曲线
- COM在VB6.0上使用的问题VS选择比尔.盖次的痛苦
- 程序移到别的机子时,是要以什么方式访问数据库呢,我代码要如何来做呢。
- 请介绍库存管理系统的业务流程,越详细越好
- 1000分急求抓取窗体上一个FRAME区域的图像,并将它存为.JPG图像的代码
- 请问:copymemory,zeromemory的作用?
- 我可以删掉自己提问的帖子吗?
- 请教!!!紧急请教!~关于如何在datareport中,用程序调整页面边距??紧急!!!!紧急!!!
- 大家是用什么环境开发VB?(Win7下VB6IDE控件设计时拖放问题)
- 关于Spread控件。。。大家可以在此帖讨论或者提问。。。
提示这句什么意思?
dim L1 as long,L2 as longsha2_hmac s1,l1,s2,l2
#define TestDll_H_#ifdef MYLIBDLL
#define MYLIBDLL extern "C" _declspec(dllimport)
#else
#define MYLIBDLL extern "C" _declspec(dllexport)
#endif//MYLIBDLL int Add(int plus1, int plus2);MYLIBDLL void sha2( const unsigned char *input, size_t ilen,
unsigned char output[32], int is224 );/**
* \brief Output = SHA-256( file contents )
*
* \param path input file name
* \param output SHA-224/256 checksum result
* \param is224 0 = use SHA256, 1 = use SHA224
*
* \return 0 if successful, or POLARSSL_ERR_SHA2_FILE_IO_ERROR
*/
MYLIBDLL int sha2_file( const char *path, unsigned char output[32], int is224 );MYLIBDLL void sha2_hmac( const unsigned char *key, size_t keylen,const unsigned char *input, size_t ilen,unsigned char output[32], int is224 );MYLIBDLL int sha2_hmac_file(const unsigned char *key, size_t keylen,const char *path, unsigned char output[32], int is224);
#endif
这是def文件LIBRARY "SHA2DLL"
EXPORTS
sha2_hmac @1
sha2_hmac_file @2
sha2 @3
sha2_file @4
Public Declare Sub sha2_hmac Lib ".\sha2.dll" (ByVal key As String, ByVal keylen As Long, ByVal inputt As String, ByVal ilen As Long, ByVal output As String, ByVal iss224 As Long)底下是调用函数
[code=vb]
Dim output(32) As Byte
Dim s1 As String, s2 As String
Dim L1 As Long, L2 As Long
sha2_hmac( s1,l1,s2,l2, output, 0)[/code]
提示syntax error不知道哪里有问题
==>
private declare sub sha2_hmac lib ".\sha2.dll" sha2_hmac(byval string key,byval keylen as long,byval input as string,byval ilen as long,output as byte,byval is224 as long)调用:
Dim output(32) As Byte Dim s1 As String, s2 As String Dim L1 As Long, L2 As Long sha2_hmac s1,l1,s2,l2,output(0),0 '参数不用先赋值?
你这个函数与后边参数不加括号吗?
你按正常调用,先给s1.l1,s2,l2 赋值,再调用?另外,你最后一个参数怎么是0?按照一般做法,最后那个数据应该是指示c函数,output有多少个字节,为不知道你的函数也是这个意思。你试试将最后一个参数设置不是0调用看看