public bool MoveNext() { if (this.enumIdList == null) { return(false); } const uint itemsRequested = 1; IntPtr item; uint numItemsReturned; var hr = this.enumIdList.Next(itemsRequested, out item, out numItemsReturned); if (HRESULT.Failed(hr) || numItemsReturned < itemsRequested) { return(false); } this.Current = ShellFactory.FromShellItem(ShellItem.FromIdList(item, this.Parent.ShellFolderItem)); return(true); }