Adam Nathan has set up a wiki site at PInvoke.net to collect and provide info on how to set up PInvoke declarations to access Win32 API functions. (Yes, it’s in C# syntax but we won’t hold that against them. The type tricks and marshall attributes required to get things to work apply to all .NET languages.)
The public at large (meaning, YOU) can add info to the pages, too. A ton of Win32 APIs are already sketched out (looks like a mechanical transfer from some other resource) ready for hot tips and helpers. There don’t appear to be any pages that describe the types of the params, though, so that might be the first place to start contributing.
Delphinians: feel free to contribute bits of insight gleaned from Borland.VCL.Windows.pas and other Win32 api units to the PInvoke.net wiki pages. If you find info on PInvoke.net that indicates one of our Win32 declarations is wrong, please log a report in Quality Central with a reference to the wiki page. Sample (Delphi) code that fails when using the supplied Win32 API declaration would be a big plus, too.