SHGetItemFromDataObject function (shobjidl_core.h)

Creates an IShellItem or related object based on an item specified by an IDataObject.

Syntax

HRESULT SHGetItemFromDataObject(
  [in]  IDataObject            *pdtobj,
  [in]  DATAOBJ_GET_ITEM_FLAGS dwFlags,
  [in]  REFIID                 riid,
  [out] void                   **ppv
);

Parameters

[in] pdtobj

Type: IDataObject*

A pointer to the source IDataObject instance.

[in] dwFlags

Type: DATAOBJ_GET_ITEM_FLAGS

One or more values from the DATAOBJ_GET_ITEM_FLAGS enumeration to specify options regarding the target object. This value can be 0.

[in] riid

Type: REFIID

A reference to the IID of the interface to retrieve through ppv, typically IID_IShellItem.

[out] ppv

Type: void**

When this method returns, contains the interface pointer requested in riid. This is typically IShellItem.

Return value

Type: HRESULT

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

Remarks

It is recommended that you use the IID_PPV_ARGS macro, defined in Objbase.h, to package the riid and ppv parameters. This macro provides the correct IID based on the interface pointed to by the value in ppv, which eliminates the possibility of a coding error.

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header shobjidl_core.h (include Shobjidl.h)
DLL Shell32.dll (version 6.1 or later)