Setting up the project depends on your environment. I use Microsoft® Visual Studio® 8.
With that, you can create a new project, name it what you like, and on the next page click the text on the left to see some options where you can change it from an application to a DLL. Obviously this is something you want to do.
You should also uncheck “Precompiled Headers”—if you are just starting out that will cause you a lot of headaches if checked when you get linker errors but you are positive you have included the right files and linked to the right things.
Then you need to write a bunch of functions.
Following the above will leave you with a shell that has a DllMain() and some other things to show you how to export them.
Those things are useless; they scramble the function/class names so just erase them.
Use a .DEF file (and change your project settings to use your .DEF as its Definitions file).
This is all demonstrated in SampleBreakpointHandler.zip on the
Download page.
That sample gives you a shell that works as a breakpoint handler in MHS, but you can use it simply to see what to do to make a DLL.
L. Spiro