IShellFolderView::UpdateObject method (shlobj_core.h)

[UpdateObject is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions.]

Replaces an item in a view with another item.

Syntax

HRESULT UpdateObject(
  [in]  PUITEMID_CHILD pidlOld,
  [in]  PUITEMID_CHILD pidlNew,
  [out] UINT           *puItem
);

Parameters

[in] pidlOld

Type: PUITEMID_CHILD

The original item.

[in] pidlNew

Type: PUITEMID_CHILD

The new item.

[out] puItem

Type: UINT*

When this method returns, contains a pointer to the index of the item that was replaced. You can use this value to call IShellFolderView::GetObject on later to get back the PITEMID_CHILD that you just added.

Return value

Type: HRESULT

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

Remarks

If you immediately call IShellFolderView::GetObject with the index returned by puItem, you will get a copy of the ITEMID_CHILD that you added. However, the index position of an item may change over time, so code cannot trust that any specific index always returns the same ITEMID_CHILD.

Changes made through this method can be discarded in the view by the data source at any time.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header shlobj_core.h