コード例 #1
0
        private void GetPrivacyUserListComplete(XSAPI_RESULT_INFO result, IntPtr xboxUserIdList, UInt32 count, IntPtr contextKey)
        {
            XsapiCallbackContext <object, IList <string> > context;

            if (XsapiCallbackContext <object, IList <string> > .TryRemove(contextKey.ToInt32(), out context))
            {
                if (result.errorCode == XSAPI_RESULT.XSAPI_RESULT_OK)
                {
                    context.TaskCompletionSource.SetResult(MarshalingHelpers.Utf8StringArrayToStringList(xboxUserIdList, count));
                }
                else
                {
                    context.TaskCompletionSource.SetException(new XboxException(result));
                }
                context.Dispose();
            }
        }
コード例 #2
0
        public IList <string> GetStatisticNames(XboxLiveUser user)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            IntPtr cStatListPtr;
            UInt32 statListCount;
            IntPtr cErrMessage;
            // Invokes the c method
            XSAPI_RESULT errCode = StatsManagerGetStatNames(user.Impl.XboxLiveUserPtr, out cStatListPtr, out statListCount, out cErrMessage);

            if (errCode != XSAPI_RESULT.XSAPI_RESULT_OK)
            {
                throw new XboxException(errCode, cErrMessage);
            }
            return(MarshalingHelpers.Utf8StringArrayToStringList(cStatListPtr, statListCount));
        }