Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


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

What is PInvoke.net?

A wiki for 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#).

.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 natively in some languages, and developers have to drill down to the OS 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 2019 - 2022, to make the insertion of PInvoke signatures an easy, fast operation. Download the PInvoke.net Add-in for FREE now.

PInvoke.net Visual Studio Add-in screenshot 1

PInvoke.net Visual Studio Add-in screenshot 2

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

 

 
Access PInvoke.net directly from VS: