IExplorerBrowser::FillFromObject method (shobjidl_core.h)

Creates a results folder and fills it with items.

Syntax

HRESULT FillFromObject(
  [in] IUnknown                    *punk,
  [in] EXPLORER_BROWSER_FILL_FLAGS dwFlags
);

Parameters

[in] punk

Type: IUnknown*

An interface pointer on the source object that will fill the IResultsFolder. This can be an IDataObject or any object that can be used with INamespaceWalk.

[in] dwFlags

Type: EXPLORER_BROWSER_FILL_FLAGS

One of the EXPLORER_BROWSER_FILL_FLAGS values.

Return value

Type: HRESULT

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

The object passed via interface pointer punk fills IResultsFolder.

The parameter dwFlags can be any of the EXPLORER_BROWSER_FILL_FLAGS or any of the flags defined in BrowseObject's wFlags parameter, except for flags that indicate navigation.

The parameter punk can be any object that INamespaceWalk can consume. If called with EBF_SELECTFROMDATAOBJECT, punk must be an IDataObject and the namespace will be walked at the parent level of the data object, including all peer items, but selecting only those contained in the data object. This flag is most commonly used when FOLDERSETTINGS have FWF_CHECKSELECT enabled, allowing check-selection of a set of items that have been compiled in the data object.

Note  If a pointer to an item identifier list (PIDL) in the data object is fully qualified, the parent folder cannot be successfully walked, because desktop folder items would be added to the list.
 
This method may be called more than once, with each successive call adding additional items to the view. IExplorerBrowser::RemoveAll may be called to clear the contents of the results folder. This function should be called with EBF_NODROPTARGET to prevent users from drag dropping new items into the view, unless this is desired. Setting EBO_NAVIGATEONCE is also recommended so that the browser will stay in the ResultsFolder, preventing the user from navigating to a folder that may be represented in the data object.

To manipulate items in the results folder directly, call IExplorerBrowser::GetCurrentView to get the view from ExplorerBrowser and then ask the view for results folder using GetFolder. Using the obtained results folder enables manipulation of the data in the folder with more flexibility than with the methods that IExplorerBrowser provides.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header shobjidl_core.h (include Shobjidl.h)

See also

FOLDERFLAGS

IExplorerBrowser