• C

Callback functions ?

How can functions in a C DLL call methods/functions in the calling application.For example: a method called fnAdd(..) which resides in a DLL neeeds to take dynamic data from the user( interaction with the user ). Is it possible by passing to the dll a function name ( this function can be called by using the win api GetProcAddress )which it can call to take new data from the user.
Is there a specific way to pas such function names ?
shayadAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
rwilson032697Connect With a Mentor Commented:
Simply pass a pointer to the function in the application to the dll like so (second arg is a pointer to a function taking two int args returning an int.

extern "C" ADLLFunc(int arg1, (int)(int, int) *Arg2)
{
//...

if ((*arg2)(1, 2)) // call the callback function
{
 // ...
}
//...
}

My syntax declaration may be a little rusty but you get the picture...

Cheers,

Raymond.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.