![]() |
![]() |
#1 (permalink) |
Rookie
Location: Oxford, UK
|
[vb .net] interfacing with DLLs via 'declare function'
I'm relatively new to VB.net and am having some fun with interfacing DLLs.
This is the function I'd like to use in my project: Code:
typedef int (*hashcash_callback)(int percent, int largest, int target, double count, double expected, void* user); HCEXPORT int hashcash_mint( time_t now_time, int time_width, const char* resource, unsigned bits, long anon_period, char** stamp, long* anon_random, double* tries_taken, char* ext, int compress, hashcash_callback cb, void* user_arg ); Code:
Declare Function hashcash_estimate_time Lib "hashcash.dll" (ByVal b As Int32) As Double edit: Think it's all sorted. Apparently ints aren't 16 bits and longs aren't 32 any more!? Think I'd better get with the times... If anyone has similar problems, vb.net needs everything passing as 'ByVal' (even the strings, where what it actually passes is the reference to the start of the string). Curiously, and usefully for the 'char** stamp', if you tell it to pass a string 'ByRef' it will pass a reference to a reference to the start of the string. Bingo.
__________________
I can't understand why people are frightened of new ideas. I'm frightened of the old ones. -- John Cage (1912 - 1992) Last edited by cliche; 02-06-2005 at 01:37 PM.. |
![]() |
Tags |
declare, dlls, function, interfacing, net |
|
|