Corrected ISteamNetworkingMessages, that was having wrong prototype

This commit is contained in:
SeaFood 2023-07-24 08:34:21 +02:00
parent a3124e504e
commit 9ae6342620
2 changed files with 8 additions and 8 deletions

View File

@ -25,10 +25,12 @@ namespace Steamworks
#region FunctionMeta
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_ISteamNetworkingMessages_SendMessageToUser", CallingConvention = Platform.CC)]
private static extern Result _SendMessageToUser( IntPtr self, ref NetIdentity identityRemote, [In,Out] IntPtr[] pubData, uint cubData, int nSendFlags, int nRemoteChannel );
//private static extern Result _SendMessageToUser( IntPtr self, ref NetIdentity identityRemote, [In,Out] IntPtr[] pubData, uint cubData, int nSendFlags, int nRemoteChannel );
private static extern Result _SendMessageToUser( IntPtr self, ref NetIdentity identityRemote, IntPtr pubData, uint cubData, int nSendFlags, int nRemoteChannel );
#endregion
internal Result SendMessageToUser( ref NetIdentity identityRemote, [In,Out] IntPtr[] pubData, uint cubData, int nSendFlags, int nRemoteChannel )
internal Result SendMessageToUser( ref NetIdentity identityRemote, IntPtr pubData, uint cubData, int nSendFlags, int nRemoteChannel )
//internal Result SendMessageToUser( ref NetIdentity identityRemote, [In,Out] IntPtr[] pubData, uint cubData, int nSendFlags, int nRemoteChannel )
{
var returnValue = _SendMessageToUser( Self, ref identityRemote, pubData, cubData, nSendFlags, nRemoteChannel );
return returnValue;

View File

@ -52,9 +52,7 @@ namespace Steamworks
uint length = (uint)data.Length;
fixed ( byte* p = data )
{
IntPtr[] pubData = new IntPtr[] { (IntPtr)p };
return Internal.SendMessageToUser( ref identity, pubData, length, (int)flags, channel );
return Internal.SendMessageToUser( ref identity, (IntPtr)p, length, (int)flags, channel );
}
}
@ -105,9 +103,9 @@ namespace Steamworks
{
try
{
byte[] bytes = new byte[msg->DataSize];
Marshal.Copy(msg->DataPtr, bytes, 0, msg->DataSize);
callback( bytes, msg->DataSize, msg->RecvTime, msg->MessageNumber, msg->Channel );
byte[] data = new byte[msg->DataSize];
Marshal.Copy( msg->DataPtr, data, 0, msg->DataSize );
callback( data, msg->DataSize, msg->RecvTime, msg->MessageNumber, msg->Channel );
}
finally
{