public static extern IntPtr SmcOpenConnection( [MarshalAs(UnmanagedType.LPStr)] string?networkId, IntPtr content, int xsmpMajorRev, int xsmpMinorRev, nuint mask, ref SmcCallbacks callbacks, [MarshalAs(UnmanagedType.LPStr)] string?previousId, ref IntPtr clientIdRet, int errorLength, [Out] byte[] errorStringRet );
public static extern IntPtr SmcOpenConnection( [MarshalAs(UnmanagedType.LPWStr)] string networkId, IntPtr content, int xsmpMajorRev, int xsmpMinorRev, ulong mask, ref SmcCallbacks callbacks, [MarshalAs(UnmanagedType.LPWStr)][Out] out string previousId, [MarshalAs(UnmanagedType.LPWStr)][Out] out string clientIdRet, int errorLength, [Out] char[] errorStringRet);