internal static extern UInt32 PartyNetworkCreateEndpoint( PARTY_NETWORK_HANDLE network, PARTY_LOCAL_USER_HANDLE localUser, UInt32 propertyCount, IntPtr keys, IntPtr values, IntPtr asyncIdentifier, out PARTY_ENDPOINT_HANDLE endpoint);
internal unsafe static extern UInt32 PartyCreateNewNetwork( PARTY_HANDLE handle, PARTY_LOCAL_USER_HANDLE localUser, PARTY_NETWORK_CONFIGURATION *networkConfiguration, UInt32 regionCount, IntPtr regions, PARTY_INVITATION_CONFIGURATION *initialInvitationConfiguration, IntPtr asyncIdentifier, out PARTY_NETWORK_DESCRIPTOR networkDescriptor, IntPtr appliedInitialInvitationIdentifier);
internal static UInt32 WrapAndReturnError(UInt32 error, Interop.PARTY_LOCAL_USER_HANDLE interopHandle, out PARTY_LOCAL_USER_HANDLE handle) { if (PartyError.SUCCEEDED(error)) { handle = new PARTY_LOCAL_USER_HANDLE(interopHandle); } else { handle = default(PARTY_LOCAL_USER_HANDLE); } return(error); }
internal static extern UInt32 PartyDeviceCreateChatControl( PARTY_DEVICE_HANDLE device, PARTY_LOCAL_USER_HANDLE localUser, Byte[] languageCode, IntPtr asyncIdentifier, out PARTY_CHAT_CONTROL_HANDLE chatControl);
internal static extern UInt32 PartyCreateLocalUser( PARTY_HANDLE handle, Byte[] entityId, Byte[] titlePlayerEntityToken, out PARTY_LOCAL_USER_HANDLE localUser);
internal static extern UInt32 PartyLocalUserSetCustomContext( PARTY_LOCAL_USER_HANDLE localUser, IntPtr customContext);
internal static extern UInt32 PartyDestroyLocalUser( PARTY_HANDLE handle, PARTY_LOCAL_USER_HANDLE localUser, IntPtr asyncIdentifier);
internal static extern UInt32 PartyLocalUserUpdateEntityToken( PARTY_LOCAL_USER_HANDLE localUser, Byte[] titlePlayerEntityToken);
internal static extern UInt32 PartyLocalUserGetEntityId( PARTY_LOCAL_USER_HANDLE localUser, out UTF8StringPtr entityId);
unsafe internal static extern UInt32 PartyNetworkCreateInvitation( PARTY_NETWORK_HANDLE network, PARTY_LOCAL_USER_HANDLE localUser, PARTY_INVITATION_CONFIGURATION *invitationConfiguration, IntPtr asyncIdentifier, out PARTY_INVITATION_HANDLE invitation);
internal static extern UInt32 PartyNetworkAuthenticateLocalUser( PARTY_NETWORK_HANDLE network, PARTY_LOCAL_USER_HANDLE localUser, Byte[] invitationIdentifier, IntPtr asyncIdentifier);
internal static extern UInt32 PartyNetworkRemoveLocalUser( PARTY_NETWORK_HANDLE network, PARTY_LOCAL_USER_HANDLE localUser, IntPtr asyncIdentifier);
internal static extern UInt32 PartyNetworkRevokeInvitation( PARTY_NETWORK_HANDLE network, PARTY_LOCAL_USER_HANDLE localUser, PARTY_INVITATION_HANDLE invitation, IntPtr asyncIdentifier);
internal PARTY_LOCAL_USER_HANDLE(Interop.PARTY_LOCAL_USER_HANDLE interopHandle) { this.InteropHandle = interopHandle; }
internal static extern UInt32 PartyChatControlGetLocalUser( PARTY_CHAT_CONTROL_HANDLE chatControl, out PARTY_LOCAL_USER_HANDLE localUser);
internal static extern UInt32 PartyEndpointGetLocalUser( PARTY_ENDPOINT_HANDLE endpoint, out PARTY_LOCAL_USER_HANDLE localUser);