when i use "EnumChildWindows" function in a program, i need to specify a callback function for it. what if i declare the function as an exported dll's function ? does the callback function needs to be declared as a regular function in the DLL ? DLL Skeleton - where do i write the callback function in this case: EnumTest proc invoke CallBackFunc,...,...,...,... EnumTest ENDP CallbackFunc proc \ CallBackFunc ENDP / --> where should this function be placed ?
These are what you call "Application Defined Callbacks". BOOL CALLBACK EnumChildProc( HWND hwnd, // handle to child window LPARAM lParam // application-defined value ); This means that you write the callback function in the app that you are calling the DLL from. It can be any name you like as long as it has the form that is required.
Write a prototype for it like normal. Regards, firstname.lastname@example.org
My_Hot_Shit_Callback proc hndl:DWORD, longP:DWORD ; do your code here ret My_Hot_Shit_Callback endp
But how do i make the Callback function be in the DLL ? i don't want the external application to know what it does. i want it declared in the DLL and not exported.