Función SHCreateShellItemArrayFromDataObject (shobjidl_core.h)
Crea un objeto de matriz de elementos de Shell a partir de un objeto de datos.
Sintaxis
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 realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
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 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 eliminación.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shobjidl_core.h (include Shobjidl.h) |
Archivo DLL | Shell32.dll |
Conjunto de API | ext-ms-win-shell-shell32-l1-2-2 (introducido en Windows 10, versión 10.0.14393) |