Share via


Método IShellFolder::CreateViewObject (shobjidl_core.h)

Solicita un objeto que se puede usar para obtener información de un objeto de carpeta o interactuar con él.

Sintaxis

HRESULT CreateViewObject(
  [in]  HWND   hwndOwner,
  [in]  REFIID riid,
  [out] void   **ppv
);

Parámetros

[in] hwndOwner

Tipo: HWND

Identificador de la ventana del propietario. Si ha implementado un objeto de vista de carpeta personalizado, la ventana de vista de carpetas debe crearse como elemento secundario de hwndOwner.

[in] riid

Tipo: REFIID

Referencia al IID de la interfaz que se va a recuperar a través de ppv, normalmente IID_IShellView.

[out] ppv

Tipo: void**

Cuando este método se devuelve correctamente, contiene el puntero de interfaz solicitado en riid. Esto suele ser IShellView. Para obtener información más detallada, consulte la sección Comentarios.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Para admitir esta solicitud, cree un objeto que exponga la interfaz indicada por riid y devuelva un puntero a esa interfaz.

El propósito principal de este método es proporcionar al Explorador de Windows el objeto de vista de carpetas del objeto de carpeta. El Explorador de Windows solicita un objeto de vista de carpeta estableciendo riid en IID_IShellView. El objeto de vista de carpetas muestra el contenido de la carpeta en la vista de carpetas del Explorador de Windows. El objeto de vista de carpetas debe ser independiente del objeto de carpeta shell, ya que el Explorador de Windows puede llamar a este método más de una vez para crear varios objetos de vista de carpetas. Se debe crear un nuevo objeto de vista cada vez que se llama a este método. El objeto de carpeta puede responder de una de estas dos maneras a esta solicitud. Puede:

  • Cree un objeto de vista de carpeta personalizado y devuelva un puntero a su interfaz IShellView .
  • Cree un objeto de vista de carpeta del sistema y devuelva un puntero a su interfaz IShellView .
Este método también se usa para solicitar objetos que exponen una de varias interfaces opcionales, como IContextMenu o IExtractIcon. En este contexto, CreateViewObject es similar al uso de IShellFolder::GetUIObjectOf. Sin embargo, llama a IShellFolder::GetUIObjectOf para solicitar un objeto para uno de los elementos contenidos en una carpeta. Llame a IShellFolder::CreateViewObject para solicitar un objeto para la propia carpeta. Las interfaces más solicitadas son: Se recomienda usar la macro IID_PPV_ARGS , definida en Objbase.h, para empaquetar los parámetros riid y ppv . Esta macro proporciona el IID correcto basado en la interfaz a la que apunta el valor de ppv, lo que elimina la posibilidad de un error de codificación en riid que podría dar lugar a resultados inesperados.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shobjidl_core.h (include Shobjidl.h)
Archivo DLL Shell32.dll (versión 4.0 o posterior)

Consulte también

IShellFolder

IShellFolder2