Desktop Functions:

   Smart Device Functions:

Show Recent Changes
Subscribe (RSS)
Misc. Pages
Helpful Tools
Suggested Reading
Website TODO List
Support Forum
Download Visual Studio Add-In

Terms of Use
Privacy Policy
Comments (misc)
A place to leave general comments about the site.

Leave your comments here! -- Adam Nathan

This is such a great idea -- thanks Adam

..BradA (

Echo Brad. This is an awesome idea! Thanks Adam. I have blogged it. -- Sam Gentile (

Great idea, thanks for creating the site. However, it does have rendering problems on Mozilla (Firefox 0.8 on Win XP to be exact). The directory tree (advapi32, gdi32 etc.) is misplaced (overlaps the "Directory" label) and I can't get them to expand.

There is also IE (6.0.2800.1106.xpsp2) bug: clicking "Edit This Page" brings up error message "A runtime error has occurred... Line: 15 Error: 'ButtonBar' is undefined". Harmless but annoying.

Krzysztof Kowalczyk (

The fading effect is awesome, the whole experience is extremely 'organic'. This is really the future of documentation.

This is so cool! And work with Wiki has never been more enjoyable.

Great idea, thanks for setting it up!

One question: The APIs here appear to be machanically created from some other source - from things like "System.Windows.Forms.NativeMethods"? The functions are present, but not the structures and data types used in the params. Any plans to do a mechanical dump of the structures as well? The real magic of marshalling is getting the param types set up correctly, which for structures can be quite a pain.

Things like RegisterWindowClass and GetClassInfo using the WNDCLASS structure in different ways requires creating separate structures with different field types in order to satisfy the marshaller (The WndProc pointer as a raw IntPtr in some cases, or as a method pointer in other cases). I can see that the params for GetClassInfo and RegisterWindowClass do take different structure types, but those types do not appear to be documented here.



You should also check out these automatically generated PInvoke stubs which covers much of the WIn32 API



Peter Hallam

C# Compiler Dev Lead

How about a directory for the Compact Framework/coredll? - Ian Darling

This is great, but definitely needs somewhere we can define common constants and structures.


- Add a way to search and or highlight entries that have additional info added.

- Add a logon feature (use DotNetNuke?) to allow added posts to be tracked based on email address instead of IP address.

Charlie Kindel (

Some responses for the last 3 comments:

  • Ian, I've added coredll, so feel free to start adding pages!
  • Rodney, you can define pages for structures, etc. just like you can for functions. It might be nice to organize them differently, though...
  • Charlie, I'll have to consider other means of tracking. In the meantime, it would be great if folks fill out the "Identity" text box when making edits. Also, you can click on the "Show Recent Changes" link to see the most-recently-updated pages across the site.

Thanks, everyone, for your participation! -- Adam Nathan

Access directly from VS:
Terms of Use
Find References
Show Printable Version