Compartilhar via


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

Solicita um objeto que pode ser usado para obter informações ou interagir com um objeto de pasta.

Sintaxe

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

Parâmetros

[in] hwndOwner

Digite: HWND

Um identificador para a janela do proprietário. Se você implementou um objeto de exibição de pasta personalizado, a janela de exibição de pasta deverá ser criada como um filho de hwndOwner.

[in] riid

Tipo: REFIID

Uma referência ao IID da interface a ser recuperada por meio de ppv, normalmente IID_IShellView.

[out] ppv

Tipo: void**

Quando esse método retorna com êxito, contém o ponteiro de interface solicitado em riid. Normalmente, isso é IShellView. Para obter mais detalhes, consulte a seção Comentários.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Para dar suporte a essa solicitação, crie um objeto que exponha a interface indicada por riid e retorne um ponteiro para essa interface.

A principal finalidade desse método é fornecer ao Windows Explorer com o objeto de exibição de pasta do objeto de pasta. O Windows Explorer solicita um objeto de exibição de pasta definindo riid como IID_IShellView. O objeto de exibição de pasta exibe o conteúdo da pasta na exibição de pasta do Windows Explorer. O objeto de exibição de pasta deve ser independente do objeto de pasta Shell, pois o Windows Explorer pode chamar esse método mais de uma vez para criar vários objetos de exibição de pasta. Um novo objeto de exibição deve ser criado sempre que esse método for chamado. Seu objeto de pasta pode responder de uma das duas maneiras a essa solicitação. Ele pode:

  • Crie um objeto de exibição de pasta personalizado e retorne um ponteiro para sua interface IShellView .
  • Crie um objeto de exibição de pasta do sistema e retorne um ponteiro para sua interface IShellView .
Esse método também é usado para solicitar objetos que expõem uma das várias interfaces opcionais, incluindo IContextMenu ou IExtractIcon. Nesse contexto, CreateViewObject é semelhante ao uso de IShellFolder::GetUIObjectOf. No entanto, você chama IShellFolder::GetUIObjectOf para solicitar um objeto para um dos itens contidos por uma pasta. Chame IShellFolder::CreateViewObject para solicitar um objeto para a própria pasta. As interfaces mais solicitadas são: Recomendamos que você use a macro IID_PPV_ARGS , definida em Objbase.h, para empacotar os parâmetros riid e ppv . Essa macro fornece o IID correto com base na interface apontada pelo valor em ppv, o que elimina a possibilidade de um erro de codificação no riid que pode levar a resultados inesperados.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shobjidl_core.h (inclua Shobjidl.h)
DLL Shell32.dll (versão 4.0 ou posterior)

Confira também

Ishellfolder

IShellFolder2