pinvoke.net … a place to post and find all the Win32 API signatures you need …


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 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. 

Therefore, this site is a repository where you can find, edit, and add PInvoke signatures, user-defined types, and any other information that helps us leverage each other’s efforts.  Think of this as the 21st century version of VB6’s “API Text Viewer,” a standalone application which used static files such as WIN32API.TXT as input.  Did you spend hours figuring out how to successfully define & call a given unmanaged API in managed code?  Share (and get credit for) your discovery here!  Is there an error on this site?  Go ahead and fix it!

It’s time to stop writing PInvoke signatures from scratch!  Instead, copy and paste your way to productivity! 

Besides the structured reference pages, this site contains miscellaneous community resources that are helpful for being successful at unmanaged code interoperability.  Feel free to add to these pages, too!

PINVOKE.NET is a Wiki (created with FlexWiki), enabling users like you (yes, you) to freely and easily contribute to the repository.  New to Wikis?  Try the “Playground” link on the left to experiment with the editing process.  Enjoy!

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…

Comments (5)

  1. Luc Cluitmans says:

    It looks like it could be a nice site. Sadly it doesn’t work at all 🙁

    Reason: it uses a VBS file for scripting. My company’s firewall simply blocks any file with the extension *.vbs. Even if it didn’t, Mozilla (my standard browser) would probably have no clue what to do with it.

    It would be appreciated if the site could be changed to be usable with other browsers than IE (as long as IE doesn’t support tabs, I’m not going to make it my default browser…). And yes, that probably means getting rid of of that nifty treeview control.

  2. Adam Nathan says:

    Thanks for your comments. I’ll address this shortly, as use of the site is rising faster than I expected. 🙂

  3. DarthPedro says:

    <a href=http://darthpedro.blogspot.com/2004_04_01_darthpedro_archive.html#108250430675803638>Very useful</a>. We’d talked before about providing a library of unmanaged wrappers to Win32 APIs. This wiki should be even better, letting users add to and update entries.

    Can’t tell you how many of them I’ve had to do on my own.