Funzione SHCreateShellItemArrayFromDataObject (shobjidl_core.h)

Crea un oggetto matrice di elementi shell da un oggetto dati.

Sintassi

SHSTDAPI SHCreateShellItemArrayFromDataObject(
  [in]  IDataObject *pdo,
  [in]  REFIID      riid,
  [out] void        **ppv
);

Parametri

[in] pdo

Tipo: IDataObject*

Puntatore all'interfaccia IDataObject .

[in] riid

Tipo: REFIID

Riferimento all'ID di interfaccia desiderato.

[out] ppv

Tipo: void**

Quando termina, questo metodo contiene il puntatore di interfaccia richiesto in riid. Si tratta in genere di IShellItemArray.

Valore restituito

Tipo: HRESULT

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Questa funzione è utile per le estensioni shell che implementano IShellExtInit e vengono passati un oggetto dati al metodo IShellExtInit::Initialize ; ad esempio gestori di menu di scelta rapida.

Questa API consente di convertire l'oggetto dati in un elemento shell utilizzabile dal gestore. È consigliabile che i gestori usino una matrice di elementi shell anziché formati di appunti come CF_HDROP e CFSTR_SHELLIDLIST (noti anche come HIDA) perché comporta codice più semplice e consente alcuni miglioramenti delle prestazioni.

La matrice di elementi della shell risultante contiene un riferimento all'oggetto dati di origine. Pertanto, tale oggetto dati deve rimanere valido per la durata della matrice di elementi della shell. In particolare, gli oggetti dati passati ai metodi IDropTarget non sono più validi al termine dell'operazione di rilascio.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shobjidl_core.h (include Shobjidl.h)
DLL Shell32.dll
Set di API ext-ms-win-shell-shell32-l1-2-2 (introdotto in Windows 10, versione 10.0.14393)