Adam Nathan has created a home for a ton of PInvoke signatures, organized by Module/DLL and pre-populated (by the man himself) with a ton of the most common signatures… I’ll let the site describe itself with this text from the “What is this site?” page;

[PINVOKE.NET](http://pinvoke.net/) attempts to address the difficulty of calling Win32 or other unmanaged APIs in managed code (languages such as C# and VB .NET). Manually defining and using PInvoke signatures (also known as Declare statements in VB .NET) is an error-prone process that can introduce extremely subtle bugs. The rules are complex, and if you make a mistake, you’ll probably corrupt memory.

   <o:p> </o:p> </span>


<p class="MsoNormal">
  <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">Therefore, this site is a repository where you can <b style="mso-bidi-font-weight: normal">[<font color="#4169e1">find](http://pinvoke.net/find.htm)</b>, <b style="mso-bidi-font-weight: normal">[<font color="#4169e1">edit](http://pinvoke.net/edit.htm)</b>, and <b style="mso-bidi-font-weight: normal">[<font color="#4169e1">add](http://pinvoke.net/add.htm)</b> <span class="SpellE">PInvoke</span> signatures, user-defined types, and any other information that helps us leverage each other’s efforts.<span style="mso-spacerun: yes">  </span>Think of this as the 21<sup>st</sup> century version of VB6’s "API Text Viewer," a standalone application which used static files such as WIN32API.TXT as input.<span style="mso-spacerun: yes">  </span>Did you spend hours figuring out how to successfully define & call a given unmanaged API in managed code?<span style="mso-spacerun: yes">  </span>Share (and get credit for) your discovery here!<span style="mso-spacerun: yes">  </span>Is there an error on this site?<span style="mso-spacerun: yes">  </span>Go ahead and fix it!<o:p></o:p></span>


<p class="MsoNormal">
  <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma"> <o:p> </o:p> </span>


<p class="MsoNormal">
  <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">It’s time to stop writing <span class="SpellE">PInvoke</span> signatures from scratch!<span style="mso-spacerun: yes">  </span>Instead, copy and paste your way to productivity!</span> </b> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma"> <o:p> </o:p> </span>


<p class="MsoNormal">
  <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">Besides the structured reference pages, this site contains miscellaneous community resources that are helpful for being successful at unmanaged code interoperability.<span style="mso-spacerun: yes">  </span>Feel free to add to these pages, too!<o:p></o:p></span>


<p class="MsoNormal">
  <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma"> <o:p> </o:p> </span>


<p class="MsoNormal">
  <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">PINVOKE.NET is a [<span class="SpellE"><font color="#4169e1">Wiki</span>](http://wiki.org/wiki.cgi?WhatIsWiki) (created with [<span class="SpellE"><font color="#4169e1">FlexWiki</span>](http://www.flexwiki.com/)), enabling users like you (yes, you) to freely and easily contribute to the repository.<span style="mso-spacerun: yes">  </span><span class="GramE">New to <span class="SpellE">Wikis</span>?</span><span style="mso-spacerun: yes">  </span>Try the "Playground" link on the left to experiment with the editing process.<span style="mso-spacerun: yes">  </span>Enjoy!</span>

For those of you who are primarily VB.NET developers (like myself), I fear you will find the VB content a bit light on this site... but this is bound to change over time since, as was mentioned earlier, this **is** a Wiki and I'm sure people will be adding VB.NET signatures...