Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't. To create a page in a module other than misc, prefix the name with the module name and a period.

A wiki for .NET developers

PInvoke.net is primarily a wiki, allowing developers to find, edit and add PInvoke* signatures, user-defined types, and any other information related to calling Win32 and other unmanaged APIs from managed code (written in languages such as C# or VB.NET).

.NET developers worldwide can easily contribute to the community, sharing their valuable knowledge, whenever they have time to do so.

New to Wikis? Try the Playground to experiment with the editing process

Copy and paste your way to productivity

Certain things just can't be done in pure .NET, and developers have to drill down to the Windows API. This is achieved through .NET’s Platform Invoke (PInvoke) functionality, which requires declarations to be supplied by the developer. Manually defining and using PInvoke signatures is an error-prone process that can introduce subtle bugs. PInvoke.net supplies you with tried and tested signatures and type definitions, so that you don't have to spend time writing them from scratch.

Access PInvoke.net directly from Visual Studio

We provide an Add-in to Visual Studio 2010 - 2013, to make the insertion of PInvoke signatures an easy, fast operation. Download the PInvoke.net Add-in for FREE now.







Editors wanted

Did you spend hours figuring out how to successfully define and 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!

We are constantly looking for editors to join in, to continue making this space a valuable resource for .NET developers across the globe.

* The term PInvoke is derived from the phrase "Platform Invoke". PInvoke signatures are native method signatures, also known as Declare statements in VB