Trouble with DLL address

dnewbie run3 at myopera.com
Mon Jan 14 15:59:35 PST 2013


The problem is FARPROC. Thank you everybody.

Solution:
import core.runtime;
import std.c.windows.windows;
import std.stdio;

alias extern(Windows) int function(int) FuncPtr;
alias extern(Windows) FuncPtr function() GetFuncPtr;

int main(string[] args)
{
	HMODULE dll            = LoadLibraryA("mydll64.DLL");
	GetFuncPtr getFunction = cast(GetFuncPtr) GetProcAddress(dll, 
"GetFunction");	
	FuncPtr realFunction   = cast(FuncPtr) getFunction();
	
	writefln("dll address:          %08x", dll);
	writefln("GetFunction address:  %08x", getFunction);
	writefln("RealFunction address: %08x", realFunction);
	writefln("RealFunction result:  %d",   realFunction(7));

     return 0;	
}



More information about the Digitalmars-d-learn mailing list