Callbacks like this can be used to provide event handling in languages that do not have built in events (like .Net languages).
You call the settimer function, passing a pointer to one of your functions, which will be called when the requisit time has passed.
the Callback macro is there to tell pre 32bit compilers how to pass the function arguements between the API and your function, see this snippit from this paper here
DLL callbacks and why WINAPI is the
same as CALLBACK
It is possible to
allow the DLL to make calls back into
the client code, which is useful if
you are writing a DLL to implement a
callback function, or designing an
event driven interface. The concept is
the client calls a function in a DLL,
passes the DLL a pointer to a function
that resides in the client, and the
DLL function will make calls back into
the client using the pointer.