public IEnumerator GetContainerInfo(string prefix, Action <StorageContainerQueryResult> resultCallBack) { yield return(null); if (resultCallBack != null) { #if ENABLE_WINMD_SUPPORT if (this.gameSaveProvider != null) { var query = this.gameSaveProvider.CreateContainerInfoQuery(prefix); var resultList = new List <StorageContainerInfo>(); query.GetContainerInfoAsync().AsTask().ContinueWith( queryTask => { var gameSaveQueryResults = queryTask.Result; foreach (var resultgameSaveContainerInfo in gameSaveQueryResults.Value) { var containerInfo = new StorageContainerInfo { Name = resultgameSaveContainerInfo.Name, DisplayName = resultgameSaveContainerInfo.DisplayName, LastModifiedTime = resultgameSaveContainerInfo.LastModifiedTime, NeedsSync = resultgameSaveContainerInfo.NeedsSync, TotalSize = resultgameSaveContainerInfo.TotalSize }; resultList.Add(containerInfo); } var status = (GameSaveStatus)Enum.Parse(typeof(GameSaveStatus), gameSaveQueryResults.Status.ToString()); var queryResult = new StorageContainerQueryResult { Value = resultList, Status = status }; resultCallBack(queryResult); }); } else { var errorMessage = "An Exception Occured: Game Save Provider hasn't been initialized yet. Initialize needs to be called first."; ExceptionManager.Instance.ThrowException( ExceptionSource.GameSaveManager, ExceptionType.GameSaveProviderNotInitialized, new Exception(errorMessage)); } #else var resultList = new List <StorageContainerInfo>(); var firstContainer = new StorageContainerInfo { Name = "Container01", DisplayName = "Display Name 01", LastModifiedTime = DateTime.Now, NeedsSync = false, TotalSize = 1024 }; resultList.Add(firstContainer); var secondContainer = new StorageContainerInfo { Name = "Container02", DisplayName = "Display Name 02", LastModifiedTime = DateTime.Now, NeedsSync = false, TotalSize = 2048 }; resultList.Add(secondContainer); var queryResult = new StorageContainerQueryResult { Status = GameSaveStatus.Ok, Value = resultList }; resultCallBack(queryResult); #endif } }