In general if the API is available via .Net I would choose that over a PInvoke version. PInvoke is complex and has a lot of dark corners. When a .Net wrapper is produced that exposes these API's,...