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(); } }
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)); }