Compartir a través de


Función SHCreateShellItemArrayFromDataObject (shobjidl_core.h)

Crea un objeto de matriz de elementos de Shell a partir de un objeto de datos.

Syntax

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

Parámetros

[in] pdo

Tipo: IDataObject*

Puntero a la interfaz IDataObject .

[in] riid

Tipo: REFIID

Referencia al identificador de interfaz deseado.

[out] ppv

Tipo: void**

Cuando este método vuelve, contiene el puntero de interfaz solicitado en riid. Esto suele ser IShellItemArray.

Valor devuelto

Tipo: HRESULT

Si esta función se ejecuta correctamente, devuelve S_OK. De lo contrario, devuelve un código de error HRESULT .

Observaciones

Esta función es útil para las extensiones de Shell que implementan IShellExtInit y se pasan un objeto de datos al método IShellExtInit::Initialize ; por ejemplo, controladores de menú contextual.

Esta API le permite convertir el objeto de datos en un elemento de Shell que el controlador puede consumir. Se recomienda que los controladores usen una matriz de elementos de Shell en lugar de formatos de Portapapeles como CF_HDROP y CFSTR_SHELLIDLIST (también conocidos como HIDA), ya que conduce a código más sencillo y permite algunas mejoras de rendimiento.

La matriz de elementos de shell resultante contiene una referencia al objeto de datos de origen. Por lo tanto, ese objeto de datos debe permanecer válido durante la vigencia de la matriz de elementos de shell. En concreto, los objetos de datos pasados a los métodos IDropTarget ya no son válidos una vez completada la operación de colocación.

Requisitos

Requirement Importancia
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo admitido Windows Server 2008 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
Header shobjidl_core.h (incluya Shobjidl.h)
Library OneCore.Lib
DLL Shell32.dll
Conjunto de API ext-ms-win-shell-shell32-l1-2-2 (introducido en Windows 10, versión 10.0.14393)