#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member public IEnumerator <ShellObject> GetItems(ShellNativeMethods.ShellFolderEnumerationOptions shellFolderEnumerationOptions) #pragma warning restore CS1591 // Missing XML comment for publicly visible type or member { if (NativeShellFolder == null) { if (desktopFolderEnumeration == null) { ShellNativeMethods.SHGetDesktopFolder(out desktopFolderEnumeration); } nativeShellFolder = desktopFolderEnumeration; } return(new ShellFolderItems(this, shellFolderEnumerationOptions)); }
internal ShellFolderItems(ShellContainer nativeShellFolder, ShellNativeMethods.ShellFolderEnumerationOptions shellFolderEnumerationOptions = ShellNativeMethods.ShellFolderEnumerationOptions.Folders | ShellNativeMethods.ShellFolderEnumerationOptions.NonFolders) { this.nativeShellFolder = nativeShellFolder; HResult hr = nativeShellFolder.NativeShellFolder.EnumObjects( IntPtr.Zero, shellFolderEnumerationOptions, out nativeEnumIdList); if (!CoreErrorHelper.Succeeded(hr)) { if (hr == HResult.Canceled) { throw new System.IO.FileNotFoundException(); } else { throw new ShellException(hr); } } }