示例#1
0
        public static UInt32 PartyXblLoginToPlayFab(
            PARTY_XBL_CHAT_USER_HANDLE localChatUser,
            Object asyncIdentifier)
        {
            if (localChatUser == null)
            {
                return(PartyError.InvalidArg);
            }

            var asyncId = IntPtr.Zero;

            if (asyncIdentifier != null)
            {
                asyncId = GCHandle.ToIntPtr(GCHandle.Alloc(asyncIdentifier));
            }

            UInt32 err = PartyXblInterop.PartyXblLoginToPlayFab(
                localChatUser.InteropHandle,
                asyncId);

            if (PartyError.FAILED(err))
            {
                if (asyncId != IntPtr.Zero)
                {
                    GCHandle asyncGcHandle = GCHandle.FromIntPtr(asyncId);
                    asyncGcHandle.Free();
                }
            }

            return(err);
        }
示例#2
0
        public static UInt32 PartyXblGetEntityIdsFromXboxLiveUserIds(
            PARTY_XBL_HANDLE handle,
            UInt64[] xboxLiveUserIds,
            PARTY_XBL_CHAT_USER_HANDLE localChatUser,
            Object asyncIdentifier)
        {
            if (handle == null || xboxLiveUserIds == null || localChatUser == null)
            {
                return(PartyError.InvalidArg);
            }

            var asyncId = IntPtr.Zero;

            if (asyncIdentifier != null)
            {
                asyncId = GCHandle.ToIntPtr(GCHandle.Alloc(asyncIdentifier));
            }

            UInt32 err = PartyXblInterop.PartyXblGetEntityIdsFromXboxLiveUserIds(
                handle.InteropHandle,
                (UInt32)xboxLiveUserIds.Length,
                xboxLiveUserIds,
                localChatUser.InteropHandle,
                asyncId);

            if (PartyError.FAILED(err))
            {
                if (asyncId != IntPtr.Zero)
                {
                    GCHandle asyncGcHandle = GCHandle.FromIntPtr(asyncId);
                    asyncGcHandle.Free();
                }
            }

            return(err);
        }